Deep Learning - Project 2 - Convolutional Neural Networks

Authors: Joanna Działo 148260, Wojciech Majewski 148253

Part 1 - Implementation of an image classifier (40%)

The dataset we chose is, as per suggestion, Caltech-101.

In [1]:
PATH = "/content/data/101_ObjectCategories"

We put all the imports here, to avoid redundancy:

In [2]:
import os
import numpy as np
import cv2
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.metrics import confusion_matrix
import seaborn as sns
import tensorflow as tf
from tensorflow import keras
from keras.losses import CategoricalCrossentropy
from keras import datasets, layers, models
from keras.callbacks import EarlyStopping
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, InputLayer
from keras.layers import Conv2D, MaxPooling2D, BatchNormalization
from keras.preprocessing.image import ImageDataGenerator
import itertools
from collections import Counter
import random
from sklearn.metrics import classification_report

1) Download the data and load it in the Notebook (5%)

! DISCLAIMER ! These functions work on Google Colab, we do not guarantee that they would work on a regular, windows/mac/linux based system. In this part we also remove two folders from the dataset, but we elaborate on that further in the summary in Part1.7)

In [3]:
!wget -O caltech-101.zip https://data.caltech.edu/records/mzrjq-6wc02/files/caltech-101.zip
!unzip caltech-101.zip -d caltech
!mkdir data
!tar -xvf "/content/caltech/caltech-101/101_ObjectCategories.tar.gz" -C "/content/data"
!rm -rf caltech-101.zip
!rm -rf caltech
!rm -rf /content/data/101_ObjectCategories/Faces_easy
!rm -rf /content/data/101_ObjectCategories/BACKGROUND_Google
Strumieniowane dane wyjściowe obcięte do 5000 ostatnich wierszy.
101_ObjectCategories/chair/image_0005.jpg
101_ObjectCategories/chair/image_0006.jpg
101_ObjectCategories/chair/image_0007.jpg
101_ObjectCategories/chair/image_0008.jpg
101_ObjectCategories/chair/image_0010.jpg
101_ObjectCategories/chair/image_0011.jpg
101_ObjectCategories/chair/image_0012.jpg
101_ObjectCategories/chair/image_0013.jpg
101_ObjectCategories/chair/image_0014.jpg
101_ObjectCategories/chair/image_0016.jpg
101_ObjectCategories/chair/image_0017.jpg
101_ObjectCategories/chair/image_0018.jpg
101_ObjectCategories/chair/image_0019.jpg
101_ObjectCategories/chair/image_0020.jpg
101_ObjectCategories/chair/image_0022.jpg
101_ObjectCategories/chair/image_0023.jpg
101_ObjectCategories/chair/image_0024.jpg
101_ObjectCategories/chair/image_0025.jpg
101_ObjectCategories/chair/image_0026.jpg
101_ObjectCategories/chair/image_0028.jpg
101_ObjectCategories/chair/image_0029.jpg
101_ObjectCategories/chair/image_0030.jpg
101_ObjectCategories/chair/image_0031.jpg
101_ObjectCategories/chair/image_0032.jpg
101_ObjectCategories/chair/image_0034.jpg
101_ObjectCategories/chair/image_0035.jpg
101_ObjectCategories/chair/image_0036.jpg
101_ObjectCategories/chair/image_0037.jpg
101_ObjectCategories/chair/image_0038.jpg
101_ObjectCategories/chair/image_0040.jpg
101_ObjectCategories/chair/image_0041.jpg
101_ObjectCategories/chair/image_0042.jpg
101_ObjectCategories/chair/image_0043.jpg
101_ObjectCategories/chair/image_0044.jpg
101_ObjectCategories/chair/image_0046.jpg
101_ObjectCategories/chair/image_0047.jpg
101_ObjectCategories/chair/image_0048.jpg
101_ObjectCategories/chair/image_0049.jpg
101_ObjectCategories/chair/image_0050.jpg
101_ObjectCategories/chair/image_0052.jpg
101_ObjectCategories/chair/image_0053.jpg
101_ObjectCategories/chair/image_0054.jpg
101_ObjectCategories/chair/image_0055.jpg
101_ObjectCategories/chair/image_0056.jpg
101_ObjectCategories/chair/image_0058.jpg
101_ObjectCategories/chair/image_0059.jpg
101_ObjectCategories/chair/image_0060.jpg
101_ObjectCategories/chair/image_0061.jpg
101_ObjectCategories/chair/image_0062.jpg
101_ObjectCategories/chair/image_0001.jpg
101_ObjectCategories/chair/image_0002.jpg
101_ObjectCategories/chair/image_0003.jpg
101_ObjectCategories/chair/image_0009.jpg
101_ObjectCategories/chair/image_0015.jpg
101_ObjectCategories/chair/image_0021.jpg
101_ObjectCategories/chair/image_0027.jpg
101_ObjectCategories/chair/image_0033.jpg
101_ObjectCategories/chair/image_0039.jpg
101_ObjectCategories/chair/image_0045.jpg
101_ObjectCategories/chair/image_0051.jpg
101_ObjectCategories/chair/image_0057.jpg
101_ObjectCategories/chandelier/
101_ObjectCategories/chandelier/image_0004.jpg
101_ObjectCategories/chandelier/image_0005.jpg
101_ObjectCategories/chandelier/image_0006.jpg
101_ObjectCategories/chandelier/image_0007.jpg
101_ObjectCategories/chandelier/image_0008.jpg
101_ObjectCategories/chandelier/image_0010.jpg
101_ObjectCategories/chandelier/image_0011.jpg
101_ObjectCategories/chandelier/image_0012.jpg
101_ObjectCategories/chandelier/image_0013.jpg
101_ObjectCategories/chandelier/image_0014.jpg
101_ObjectCategories/chandelier/image_0016.jpg
101_ObjectCategories/chandelier/image_0017.jpg
101_ObjectCategories/chandelier/image_0018.jpg
101_ObjectCategories/chandelier/image_0019.jpg
101_ObjectCategories/chandelier/image_0020.jpg
101_ObjectCategories/chandelier/image_0022.jpg
101_ObjectCategories/chandelier/image_0023.jpg
101_ObjectCategories/chandelier/image_0024.jpg
101_ObjectCategories/chandelier/image_0025.jpg
101_ObjectCategories/chandelier/image_0026.jpg
101_ObjectCategories/chandelier/image_0028.jpg
101_ObjectCategories/chandelier/image_0029.jpg
101_ObjectCategories/chandelier/image_0030.jpg
101_ObjectCategories/chandelier/image_0031.jpg
101_ObjectCategories/chandelier/image_0032.jpg
101_ObjectCategories/chandelier/image_0034.jpg
101_ObjectCategories/chandelier/image_0035.jpg
101_ObjectCategories/chandelier/image_0036.jpg
101_ObjectCategories/chandelier/image_0037.jpg
101_ObjectCategories/chandelier/image_0038.jpg
101_ObjectCategories/chandelier/image_0040.jpg
101_ObjectCategories/chandelier/image_0041.jpg
101_ObjectCategories/chandelier/image_0042.jpg
101_ObjectCategories/chandelier/image_0043.jpg
101_ObjectCategories/chandelier/image_0044.jpg
101_ObjectCategories/chandelier/image_0046.jpg
101_ObjectCategories/chandelier/image_0047.jpg
101_ObjectCategories/chandelier/image_0048.jpg
101_ObjectCategories/chandelier/image_0049.jpg
101_ObjectCategories/chandelier/image_0050.jpg
101_ObjectCategories/chandelier/image_0052.jpg
101_ObjectCategories/chandelier/image_0053.jpg
101_ObjectCategories/chandelier/image_0054.jpg
101_ObjectCategories/chandelier/image_0055.jpg
101_ObjectCategories/chandelier/image_0056.jpg
101_ObjectCategories/chandelier/image_0058.jpg
101_ObjectCategories/chandelier/image_0059.jpg
101_ObjectCategories/chandelier/image_0060.jpg
101_ObjectCategories/chandelier/image_0061.jpg
101_ObjectCategories/chandelier/image_0062.jpg
101_ObjectCategories/chandelier/image_0064.jpg
101_ObjectCategories/chandelier/image_0065.jpg
101_ObjectCategories/chandelier/image_0066.jpg
101_ObjectCategories/chandelier/image_0067.jpg
101_ObjectCategories/chandelier/image_0068.jpg
101_ObjectCategories/chandelier/image_0070.jpg
101_ObjectCategories/chandelier/image_0071.jpg
101_ObjectCategories/chandelier/image_0072.jpg
101_ObjectCategories/chandelier/image_0073.jpg
101_ObjectCategories/chandelier/image_0074.jpg
101_ObjectCategories/chandelier/image_0076.jpg
101_ObjectCategories/chandelier/image_0077.jpg
101_ObjectCategories/chandelier/image_0078.jpg
101_ObjectCategories/chandelier/image_0079.jpg
101_ObjectCategories/chandelier/image_0080.jpg
101_ObjectCategories/chandelier/image_0082.jpg
101_ObjectCategories/chandelier/image_0083.jpg
101_ObjectCategories/chandelier/image_0084.jpg
101_ObjectCategories/chandelier/image_0085.jpg
101_ObjectCategories/chandelier/image_0086.jpg
101_ObjectCategories/chandelier/image_0088.jpg
101_ObjectCategories/chandelier/image_0089.jpg
101_ObjectCategories/chandelier/image_0090.jpg
101_ObjectCategories/chandelier/image_0091.jpg
101_ObjectCategories/chandelier/image_0092.jpg
101_ObjectCategories/chandelier/image_0094.jpg
101_ObjectCategories/chandelier/image_0095.jpg
101_ObjectCategories/chandelier/image_0096.jpg
101_ObjectCategories/chandelier/image_0097.jpg
101_ObjectCategories/chandelier/image_0098.jpg
101_ObjectCategories/chandelier/image_0100.jpg
101_ObjectCategories/chandelier/image_0101.jpg
101_ObjectCategories/chandelier/image_0102.jpg
101_ObjectCategories/chandelier/image_0103.jpg
101_ObjectCategories/chandelier/image_0104.jpg
101_ObjectCategories/chandelier/image_0106.jpg
101_ObjectCategories/chandelier/image_0107.jpg
101_ObjectCategories/chandelier/image_0001.jpg
101_ObjectCategories/chandelier/image_0002.jpg
101_ObjectCategories/chandelier/image_0003.jpg
101_ObjectCategories/chandelier/image_0009.jpg
101_ObjectCategories/chandelier/image_0015.jpg
101_ObjectCategories/chandelier/image_0021.jpg
101_ObjectCategories/chandelier/image_0027.jpg
101_ObjectCategories/chandelier/image_0033.jpg
101_ObjectCategories/chandelier/image_0039.jpg
101_ObjectCategories/chandelier/image_0045.jpg
101_ObjectCategories/chandelier/image_0051.jpg
101_ObjectCategories/chandelier/image_0057.jpg
101_ObjectCategories/chandelier/image_0063.jpg
101_ObjectCategories/chandelier/image_0069.jpg
101_ObjectCategories/chandelier/image_0075.jpg
101_ObjectCategories/chandelier/image_0081.jpg
101_ObjectCategories/chandelier/image_0087.jpg
101_ObjectCategories/chandelier/image_0093.jpg
101_ObjectCategories/chandelier/image_0099.jpg
101_ObjectCategories/chandelier/image_0105.jpg
101_ObjectCategories/cougar_face/
101_ObjectCategories/cougar_face/image_0004.jpg
101_ObjectCategories/cougar_face/image_0005.jpg
101_ObjectCategories/cougar_face/image_0006.jpg
101_ObjectCategories/cougar_face/image_0007.jpg
101_ObjectCategories/cougar_face/image_0008.jpg
101_ObjectCategories/cougar_face/image_0010.jpg
101_ObjectCategories/cougar_face/image_0011.jpg
101_ObjectCategories/cougar_face/image_0012.jpg
101_ObjectCategories/cougar_face/image_0013.jpg
101_ObjectCategories/cougar_face/image_0014.jpg
101_ObjectCategories/cougar_face/image_0016.jpg
101_ObjectCategories/cougar_face/image_0017.jpg
101_ObjectCategories/cougar_face/image_0018.jpg
101_ObjectCategories/cougar_face/image_0019.jpg
101_ObjectCategories/cougar_face/image_0020.jpg
101_ObjectCategories/cougar_face/image_0022.jpg
101_ObjectCategories/cougar_face/image_0023.jpg
101_ObjectCategories/cougar_face/image_0024.jpg
101_ObjectCategories/cougar_face/image_0025.jpg
101_ObjectCategories/cougar_face/image_0026.jpg
101_ObjectCategories/cougar_face/image_0028.jpg
101_ObjectCategories/cougar_face/image_0029.jpg
101_ObjectCategories/cougar_face/image_0030.jpg
101_ObjectCategories/cougar_face/image_0031.jpg
101_ObjectCategories/cougar_face/image_0032.jpg
101_ObjectCategories/cougar_face/image_0034.jpg
101_ObjectCategories/cougar_face/image_0035.jpg
101_ObjectCategories/cougar_face/image_0036.jpg
101_ObjectCategories/cougar_face/image_0037.jpg
101_ObjectCategories/cougar_face/image_0038.jpg
101_ObjectCategories/cougar_face/image_0040.jpg
101_ObjectCategories/cougar_face/image_0041.jpg
101_ObjectCategories/cougar_face/image_0042.jpg
101_ObjectCategories/cougar_face/image_0043.jpg
101_ObjectCategories/cougar_face/image_0044.jpg
101_ObjectCategories/cougar_face/image_0046.jpg
101_ObjectCategories/cougar_face/image_0047.jpg
101_ObjectCategories/cougar_face/image_0048.jpg
101_ObjectCategories/cougar_face/image_0049.jpg
101_ObjectCategories/cougar_face/image_0050.jpg
101_ObjectCategories/cougar_face/image_0052.jpg
101_ObjectCategories/cougar_face/image_0053.jpg
101_ObjectCategories/cougar_face/image_0054.jpg
101_ObjectCategories/cougar_face/image_0055.jpg
101_ObjectCategories/cougar_face/image_0056.jpg
101_ObjectCategories/cougar_face/image_0058.jpg
101_ObjectCategories/cougar_face/image_0059.jpg
101_ObjectCategories/cougar_face/image_0060.jpg
101_ObjectCategories/cougar_face/image_0061.jpg
101_ObjectCategories/cougar_face/image_0062.jpg
101_ObjectCategories/cougar_face/image_0064.jpg
101_ObjectCategories/cougar_face/image_0065.jpg
101_ObjectCategories/cougar_face/image_0066.jpg
101_ObjectCategories/cougar_face/image_0067.jpg
101_ObjectCategories/cougar_face/image_0068.jpg
101_ObjectCategories/cougar_face/image_0001.jpg
101_ObjectCategories/cougar_face/image_0002.jpg
101_ObjectCategories/cougar_face/image_0003.jpg
101_ObjectCategories/cougar_face/image_0009.jpg
101_ObjectCategories/cougar_face/image_0015.jpg
101_ObjectCategories/cougar_face/image_0021.jpg
101_ObjectCategories/cougar_face/image_0027.jpg
101_ObjectCategories/cougar_face/image_0033.jpg
101_ObjectCategories/cougar_face/image_0039.jpg
101_ObjectCategories/cougar_face/image_0045.jpg
101_ObjectCategories/cougar_face/image_0051.jpg
101_ObjectCategories/cougar_face/image_0057.jpg
101_ObjectCategories/cougar_face/image_0063.jpg
101_ObjectCategories/cougar_face/image_0069.jpg
101_ObjectCategories/crab/
101_ObjectCategories/crab/image_0004.jpg
101_ObjectCategories/crab/image_0005.jpg
101_ObjectCategories/crab/image_0006.jpg
101_ObjectCategories/crab/image_0007.jpg
101_ObjectCategories/crab/image_0008.jpg
101_ObjectCategories/crab/image_0010.jpg
101_ObjectCategories/crab/image_0011.jpg
101_ObjectCategories/crab/image_0012.jpg
101_ObjectCategories/crab/image_0013.jpg
101_ObjectCategories/crab/image_0014.jpg
101_ObjectCategories/crab/image_0016.jpg
101_ObjectCategories/crab/image_0017.jpg
101_ObjectCategories/crab/image_0018.jpg
101_ObjectCategories/crab/image_0019.jpg
101_ObjectCategories/crab/image_0020.jpg
101_ObjectCategories/crab/image_0022.jpg
101_ObjectCategories/crab/image_0023.jpg
101_ObjectCategories/crab/image_0024.jpg
101_ObjectCategories/crab/image_0025.jpg
101_ObjectCategories/crab/image_0026.jpg
101_ObjectCategories/crab/image_0028.jpg
101_ObjectCategories/crab/image_0029.jpg
101_ObjectCategories/crab/image_0030.jpg
101_ObjectCategories/crab/image_0031.jpg
101_ObjectCategories/crab/image_0032.jpg
101_ObjectCategories/crab/image_0034.jpg
101_ObjectCategories/crab/image_0035.jpg
101_ObjectCategories/crab/image_0036.jpg
101_ObjectCategories/crab/image_0037.jpg
101_ObjectCategories/crab/image_0038.jpg
101_ObjectCategories/crab/image_0040.jpg
101_ObjectCategories/crab/image_0041.jpg
101_ObjectCategories/crab/image_0042.jpg
101_ObjectCategories/crab/image_0043.jpg
101_ObjectCategories/crab/image_0044.jpg
101_ObjectCategories/crab/image_0046.jpg
101_ObjectCategories/crab/image_0047.jpg
101_ObjectCategories/crab/image_0048.jpg
101_ObjectCategories/crab/image_0049.jpg
101_ObjectCategories/crab/image_0050.jpg
101_ObjectCategories/crab/image_0052.jpg
101_ObjectCategories/crab/image_0053.jpg
101_ObjectCategories/crab/image_0054.jpg
101_ObjectCategories/crab/image_0055.jpg
101_ObjectCategories/crab/image_0056.jpg
101_ObjectCategories/crab/image_0058.jpg
101_ObjectCategories/crab/image_0059.jpg
101_ObjectCategories/crab/image_0060.jpg
101_ObjectCategories/crab/image_0061.jpg
101_ObjectCategories/crab/image_0062.jpg
101_ObjectCategories/crab/image_0064.jpg
101_ObjectCategories/crab/image_0065.jpg
101_ObjectCategories/crab/image_0066.jpg
101_ObjectCategories/crab/image_0067.jpg
101_ObjectCategories/crab/image_0068.jpg
101_ObjectCategories/crab/image_0070.jpg
101_ObjectCategories/crab/image_0071.jpg
101_ObjectCategories/crab/image_0072.jpg
101_ObjectCategories/crab/image_0073.jpg
101_ObjectCategories/crab/image_0001.jpg
101_ObjectCategories/crab/image_0002.jpg
101_ObjectCategories/crab/image_0003.jpg
101_ObjectCategories/crab/image_0009.jpg
101_ObjectCategories/crab/image_0015.jpg
101_ObjectCategories/crab/image_0021.jpg
101_ObjectCategories/crab/image_0027.jpg
101_ObjectCategories/crab/image_0033.jpg
101_ObjectCategories/crab/image_0039.jpg
101_ObjectCategories/crab/image_0045.jpg
101_ObjectCategories/crab/image_0051.jpg
101_ObjectCategories/crab/image_0057.jpg
101_ObjectCategories/crab/image_0063.jpg
101_ObjectCategories/crab/image_0069.jpg
101_ObjectCategories/crayfish/
101_ObjectCategories/crayfish/image_0004.jpg
101_ObjectCategories/crayfish/image_0005.jpg
101_ObjectCategories/crayfish/image_0006.jpg
101_ObjectCategories/crayfish/image_0007.jpg
101_ObjectCategories/crayfish/image_0008.jpg
101_ObjectCategories/crayfish/image_0010.jpg
101_ObjectCategories/crayfish/image_0011.jpg
101_ObjectCategories/crayfish/image_0012.jpg
101_ObjectCategories/crayfish/image_0013.jpg
101_ObjectCategories/crayfish/image_0014.jpg
101_ObjectCategories/crayfish/image_0016.jpg
101_ObjectCategories/crayfish/image_0017.jpg
101_ObjectCategories/crayfish/image_0018.jpg
101_ObjectCategories/crayfish/image_0019.jpg
101_ObjectCategories/crayfish/image_0020.jpg
101_ObjectCategories/crayfish/image_0022.jpg
101_ObjectCategories/crayfish/image_0023.jpg
101_ObjectCategories/crayfish/image_0024.jpg
101_ObjectCategories/crayfish/image_0025.jpg
101_ObjectCategories/crayfish/image_0026.jpg
101_ObjectCategories/crayfish/image_0028.jpg
101_ObjectCategories/crayfish/image_0029.jpg
101_ObjectCategories/crayfish/image_0030.jpg
101_ObjectCategories/crayfish/image_0031.jpg
101_ObjectCategories/crayfish/image_0032.jpg
101_ObjectCategories/crayfish/image_0034.jpg
101_ObjectCategories/crayfish/image_0035.jpg
101_ObjectCategories/crayfish/image_0036.jpg
101_ObjectCategories/crayfish/image_0037.jpg
101_ObjectCategories/crayfish/image_0038.jpg
101_ObjectCategories/crayfish/image_0040.jpg
101_ObjectCategories/crayfish/image_0041.jpg
101_ObjectCategories/crayfish/image_0042.jpg
101_ObjectCategories/crayfish/image_0043.jpg
101_ObjectCategories/crayfish/image_0044.jpg
101_ObjectCategories/crayfish/image_0046.jpg
101_ObjectCategories/crayfish/image_0047.jpg
101_ObjectCategories/crayfish/image_0048.jpg
101_ObjectCategories/crayfish/image_0049.jpg
101_ObjectCategories/crayfish/image_0050.jpg
101_ObjectCategories/crayfish/image_0052.jpg
101_ObjectCategories/crayfish/image_0053.jpg
101_ObjectCategories/crayfish/image_0054.jpg
101_ObjectCategories/crayfish/image_0055.jpg
101_ObjectCategories/crayfish/image_0056.jpg
101_ObjectCategories/crayfish/image_0058.jpg
101_ObjectCategories/crayfish/image_0059.jpg
101_ObjectCategories/crayfish/image_0060.jpg
101_ObjectCategories/crayfish/image_0061.jpg
101_ObjectCategories/crayfish/image_0062.jpg
101_ObjectCategories/crayfish/image_0064.jpg
101_ObjectCategories/crayfish/image_0065.jpg
101_ObjectCategories/crayfish/image_0066.jpg
101_ObjectCategories/crayfish/image_0067.jpg
101_ObjectCategories/crayfish/image_0068.jpg
101_ObjectCategories/crayfish/image_0070.jpg
101_ObjectCategories/crayfish/image_0001.jpg
101_ObjectCategories/crayfish/image_0002.jpg
101_ObjectCategories/crayfish/image_0003.jpg
101_ObjectCategories/crayfish/image_0009.jpg
101_ObjectCategories/crayfish/image_0015.jpg
101_ObjectCategories/crayfish/image_0021.jpg
101_ObjectCategories/crayfish/image_0027.jpg
101_ObjectCategories/crayfish/image_0033.jpg
101_ObjectCategories/crayfish/image_0039.jpg
101_ObjectCategories/crayfish/image_0045.jpg
101_ObjectCategories/crayfish/image_0051.jpg
101_ObjectCategories/crayfish/image_0057.jpg
101_ObjectCategories/crayfish/image_0063.jpg
101_ObjectCategories/crayfish/image_0069.jpg
101_ObjectCategories/crocodile/
101_ObjectCategories/crocodile/image_0004.jpg
101_ObjectCategories/crocodile/image_0005.jpg
101_ObjectCategories/crocodile/image_0006.jpg
101_ObjectCategories/crocodile/image_0007.jpg
101_ObjectCategories/crocodile/image_0008.jpg
101_ObjectCategories/crocodile/image_0010.jpg
101_ObjectCategories/crocodile/image_0011.jpg
101_ObjectCategories/crocodile/image_0012.jpg
101_ObjectCategories/crocodile/image_0013.jpg
101_ObjectCategories/crocodile/image_0014.jpg
101_ObjectCategories/crocodile/image_0016.jpg
101_ObjectCategories/crocodile/image_0017.jpg
101_ObjectCategories/crocodile/image_0018.jpg
101_ObjectCategories/crocodile/image_0019.jpg
101_ObjectCategories/crocodile/image_0020.jpg
101_ObjectCategories/crocodile/image_0022.jpg
101_ObjectCategories/crocodile/image_0023.jpg
101_ObjectCategories/crocodile/image_0024.jpg
101_ObjectCategories/crocodile/image_0025.jpg
101_ObjectCategories/crocodile/image_0026.jpg
101_ObjectCategories/crocodile/image_0028.jpg
101_ObjectCategories/crocodile/image_0029.jpg
101_ObjectCategories/crocodile/image_0030.jpg
101_ObjectCategories/crocodile/image_0031.jpg
101_ObjectCategories/crocodile/image_0032.jpg
101_ObjectCategories/crocodile/image_0034.jpg
101_ObjectCategories/crocodile/image_0035.jpg
101_ObjectCategories/crocodile/image_0036.jpg
101_ObjectCategories/crocodile/image_0037.jpg
101_ObjectCategories/crocodile/image_0038.jpg
101_ObjectCategories/crocodile/image_0040.jpg
101_ObjectCategories/crocodile/image_0041.jpg
101_ObjectCategories/crocodile/image_0042.jpg
101_ObjectCategories/crocodile/image_0043.jpg
101_ObjectCategories/crocodile/image_0044.jpg
101_ObjectCategories/crocodile/image_0046.jpg
101_ObjectCategories/crocodile/image_0047.jpg
101_ObjectCategories/crocodile/image_0048.jpg
101_ObjectCategories/crocodile/image_0049.jpg
101_ObjectCategories/crocodile/image_0050.jpg
101_ObjectCategories/crocodile/image_0001.jpg
101_ObjectCategories/crocodile/image_0002.jpg
101_ObjectCategories/crocodile/image_0003.jpg
101_ObjectCategories/crocodile/image_0009.jpg
101_ObjectCategories/crocodile/image_0015.jpg
101_ObjectCategories/crocodile/image_0021.jpg
101_ObjectCategories/crocodile/image_0027.jpg
101_ObjectCategories/crocodile/image_0033.jpg
101_ObjectCategories/crocodile/image_0039.jpg
101_ObjectCategories/crocodile/image_0045.jpg
101_ObjectCategories/crocodile_head/
101_ObjectCategories/crocodile_head/image_0004.jpg
101_ObjectCategories/crocodile_head/image_0005.jpg
101_ObjectCategories/crocodile_head/image_0006.jpg
101_ObjectCategories/crocodile_head/image_0007.jpg
101_ObjectCategories/crocodile_head/image_0008.jpg
101_ObjectCategories/crocodile_head/image_0010.jpg
101_ObjectCategories/crocodile_head/image_0011.jpg
101_ObjectCategories/crocodile_head/image_0012.jpg
101_ObjectCategories/crocodile_head/image_0013.jpg
101_ObjectCategories/crocodile_head/image_0014.jpg
101_ObjectCategories/crocodile_head/image_0016.jpg
101_ObjectCategories/crocodile_head/image_0017.jpg
101_ObjectCategories/crocodile_head/image_0018.jpg
101_ObjectCategories/crocodile_head/image_0019.jpg
101_ObjectCategories/crocodile_head/image_0020.jpg
101_ObjectCategories/crocodile_head/image_0022.jpg
101_ObjectCategories/crocodile_head/image_0023.jpg
101_ObjectCategories/crocodile_head/image_0024.jpg
101_ObjectCategories/crocodile_head/image_0025.jpg
101_ObjectCategories/crocodile_head/image_0026.jpg
101_ObjectCategories/crocodile_head/image_0028.jpg
101_ObjectCategories/crocodile_head/image_0029.jpg
101_ObjectCategories/crocodile_head/image_0030.jpg
101_ObjectCategories/crocodile_head/image_0031.jpg
101_ObjectCategories/crocodile_head/image_0032.jpg
101_ObjectCategories/crocodile_head/image_0034.jpg
101_ObjectCategories/crocodile_head/image_0035.jpg
101_ObjectCategories/crocodile_head/image_0036.jpg
101_ObjectCategories/crocodile_head/image_0037.jpg
101_ObjectCategories/crocodile_head/image_0038.jpg
101_ObjectCategories/crocodile_head/image_0040.jpg
101_ObjectCategories/crocodile_head/image_0041.jpg
101_ObjectCategories/crocodile_head/image_0042.jpg
101_ObjectCategories/crocodile_head/image_0043.jpg
101_ObjectCategories/crocodile_head/image_0044.jpg
101_ObjectCategories/crocodile_head/image_0046.jpg
101_ObjectCategories/crocodile_head/image_0047.jpg
101_ObjectCategories/crocodile_head/image_0048.jpg
101_ObjectCategories/crocodile_head/image_0049.jpg
101_ObjectCategories/crocodile_head/image_0050.jpg
101_ObjectCategories/crocodile_head/image_0001.jpg
101_ObjectCategories/crocodile_head/image_0002.jpg
101_ObjectCategories/crocodile_head/image_0003.jpg
101_ObjectCategories/crocodile_head/image_0009.jpg
101_ObjectCategories/crocodile_head/image_0015.jpg
101_ObjectCategories/crocodile_head/image_0021.jpg
101_ObjectCategories/crocodile_head/image_0027.jpg
101_ObjectCategories/crocodile_head/image_0033.jpg
101_ObjectCategories/crocodile_head/image_0039.jpg
101_ObjectCategories/crocodile_head/image_0045.jpg
101_ObjectCategories/crocodile_head/image_0051.jpg
101_ObjectCategories/cup/
101_ObjectCategories/cup/image_0004.jpg
101_ObjectCategories/cup/image_0005.jpg
101_ObjectCategories/cup/image_0006.jpg
101_ObjectCategories/cup/image_0007.jpg
101_ObjectCategories/cup/image_0008.jpg
101_ObjectCategories/cup/image_0010.jpg
101_ObjectCategories/cup/image_0011.jpg
101_ObjectCategories/cup/image_0012.jpg
101_ObjectCategories/cup/image_0013.jpg
101_ObjectCategories/cup/image_0014.jpg
101_ObjectCategories/cup/image_0016.jpg
101_ObjectCategories/cup/image_0017.jpg
101_ObjectCategories/cup/image_0018.jpg
101_ObjectCategories/cup/image_0019.jpg
101_ObjectCategories/cup/image_0020.jpg
101_ObjectCategories/cup/image_0022.jpg
101_ObjectCategories/cup/image_0023.jpg
101_ObjectCategories/cup/image_0024.jpg
101_ObjectCategories/cup/image_0025.jpg
101_ObjectCategories/cup/image_0026.jpg
101_ObjectCategories/cup/image_0028.jpg
101_ObjectCategories/cup/image_0029.jpg
101_ObjectCategories/cup/image_0030.jpg
101_ObjectCategories/cup/image_0031.jpg
101_ObjectCategories/cup/image_0032.jpg
101_ObjectCategories/cup/image_0034.jpg
101_ObjectCategories/cup/image_0035.jpg
101_ObjectCategories/cup/image_0036.jpg
101_ObjectCategories/cup/image_0037.jpg
101_ObjectCategories/cup/image_0038.jpg
101_ObjectCategories/cup/image_0040.jpg
101_ObjectCategories/cup/image_0041.jpg
101_ObjectCategories/cup/image_0042.jpg
101_ObjectCategories/cup/image_0043.jpg
101_ObjectCategories/cup/image_0044.jpg
101_ObjectCategories/cup/image_0046.jpg
101_ObjectCategories/cup/image_0047.jpg
101_ObjectCategories/cup/image_0048.jpg
101_ObjectCategories/cup/image_0049.jpg
101_ObjectCategories/cup/image_0050.jpg
101_ObjectCategories/cup/image_0052.jpg
101_ObjectCategories/cup/image_0053.jpg
101_ObjectCategories/cup/image_0054.jpg
101_ObjectCategories/cup/image_0055.jpg
101_ObjectCategories/cup/image_0056.jpg
101_ObjectCategories/cup/image_0001.jpg
101_ObjectCategories/cup/image_0002.jpg
101_ObjectCategories/cup/image_0003.jpg
101_ObjectCategories/cup/image_0009.jpg
101_ObjectCategories/cup/image_0015.jpg
101_ObjectCategories/cup/image_0021.jpg
101_ObjectCategories/cup/image_0027.jpg
101_ObjectCategories/cup/image_0033.jpg
101_ObjectCategories/cup/image_0039.jpg
101_ObjectCategories/cup/image_0045.jpg
101_ObjectCategories/cup/image_0051.jpg
101_ObjectCategories/cup/image_0057.jpg
101_ObjectCategories/dalmatian/
101_ObjectCategories/dalmatian/image_0004.jpg
101_ObjectCategories/dalmatian/image_0005.jpg
101_ObjectCategories/dalmatian/image_0006.jpg
101_ObjectCategories/dalmatian/image_0007.jpg
101_ObjectCategories/dalmatian/image_0008.jpg
101_ObjectCategories/dalmatian/image_0010.jpg
101_ObjectCategories/dalmatian/image_0011.jpg
101_ObjectCategories/dalmatian/image_0012.jpg
101_ObjectCategories/dalmatian/image_0013.jpg
101_ObjectCategories/dalmatian/image_0014.jpg
101_ObjectCategories/dalmatian/image_0016.jpg
101_ObjectCategories/dalmatian/image_0017.jpg
101_ObjectCategories/dalmatian/image_0018.jpg
101_ObjectCategories/dalmatian/image_0019.jpg
101_ObjectCategories/dalmatian/image_0020.jpg
101_ObjectCategories/dalmatian/image_0022.jpg
101_ObjectCategories/dalmatian/image_0023.jpg
101_ObjectCategories/dalmatian/image_0024.jpg
101_ObjectCategories/dalmatian/image_0025.jpg
101_ObjectCategories/dalmatian/image_0026.jpg
101_ObjectCategories/dalmatian/image_0028.jpg
101_ObjectCategories/dalmatian/image_0029.jpg
101_ObjectCategories/dalmatian/image_0030.jpg
101_ObjectCategories/dalmatian/image_0031.jpg
101_ObjectCategories/dalmatian/image_0032.jpg
101_ObjectCategories/dalmatian/image_0034.jpg
101_ObjectCategories/dalmatian/image_0035.jpg
101_ObjectCategories/dalmatian/image_0036.jpg
101_ObjectCategories/dalmatian/image_0037.jpg
101_ObjectCategories/dalmatian/image_0038.jpg
101_ObjectCategories/dalmatian/image_0040.jpg
101_ObjectCategories/dalmatian/image_0041.jpg
101_ObjectCategories/dalmatian/image_0042.jpg
101_ObjectCategories/dalmatian/image_0043.jpg
101_ObjectCategories/dalmatian/image_0044.jpg
101_ObjectCategories/dalmatian/image_0046.jpg
101_ObjectCategories/dalmatian/image_0047.jpg
101_ObjectCategories/dalmatian/image_0048.jpg
101_ObjectCategories/dalmatian/image_0049.jpg
101_ObjectCategories/dalmatian/image_0050.jpg
101_ObjectCategories/dalmatian/image_0052.jpg
101_ObjectCategories/dalmatian/image_0053.jpg
101_ObjectCategories/dalmatian/image_0054.jpg
101_ObjectCategories/dalmatian/image_0055.jpg
101_ObjectCategories/dalmatian/image_0056.jpg
101_ObjectCategories/dalmatian/image_0058.jpg
101_ObjectCategories/dalmatian/image_0059.jpg
101_ObjectCategories/dalmatian/image_0060.jpg
101_ObjectCategories/dalmatian/image_0061.jpg
101_ObjectCategories/dalmatian/image_0062.jpg
101_ObjectCategories/dalmatian/image_0064.jpg
101_ObjectCategories/dalmatian/image_0065.jpg
101_ObjectCategories/dalmatian/image_0066.jpg
101_ObjectCategories/dalmatian/image_0067.jpg
101_ObjectCategories/dalmatian/image_0001.jpg
101_ObjectCategories/dalmatian/image_0002.jpg
101_ObjectCategories/dalmatian/image_0003.jpg
101_ObjectCategories/dalmatian/image_0009.jpg
101_ObjectCategories/dalmatian/image_0015.jpg
101_ObjectCategories/dalmatian/image_0021.jpg
101_ObjectCategories/dalmatian/image_0027.jpg
101_ObjectCategories/dalmatian/image_0033.jpg
101_ObjectCategories/dalmatian/image_0039.jpg
101_ObjectCategories/dalmatian/image_0045.jpg
101_ObjectCategories/dalmatian/image_0051.jpg
101_ObjectCategories/dalmatian/image_0057.jpg
101_ObjectCategories/dalmatian/image_0063.jpg
101_ObjectCategories/dollar_bill/
101_ObjectCategories/dollar_bill/image_0004.jpg
101_ObjectCategories/dollar_bill/image_0005.jpg
101_ObjectCategories/dollar_bill/image_0006.jpg
101_ObjectCategories/dollar_bill/image_0007.jpg
101_ObjectCategories/dollar_bill/image_0008.jpg
101_ObjectCategories/dollar_bill/image_0010.jpg
101_ObjectCategories/dollar_bill/image_0011.jpg
101_ObjectCategories/dollar_bill/image_0012.jpg
101_ObjectCategories/dollar_bill/image_0013.jpg
101_ObjectCategories/dollar_bill/image_0014.jpg
101_ObjectCategories/dollar_bill/image_0016.jpg
101_ObjectCategories/dollar_bill/image_0017.jpg
101_ObjectCategories/dollar_bill/image_0018.jpg
101_ObjectCategories/dollar_bill/image_0019.jpg
101_ObjectCategories/dollar_bill/image_0020.jpg
101_ObjectCategories/dollar_bill/image_0022.jpg
101_ObjectCategories/dollar_bill/image_0023.jpg
101_ObjectCategories/dollar_bill/image_0024.jpg
101_ObjectCategories/dollar_bill/image_0025.jpg
101_ObjectCategories/dollar_bill/image_0026.jpg
101_ObjectCategories/dollar_bill/image_0028.jpg
101_ObjectCategories/dollar_bill/image_0029.jpg
101_ObjectCategories/dollar_bill/image_0030.jpg
101_ObjectCategories/dollar_bill/image_0031.jpg
101_ObjectCategories/dollar_bill/image_0032.jpg
101_ObjectCategories/dollar_bill/image_0034.jpg
101_ObjectCategories/dollar_bill/image_0035.jpg
101_ObjectCategories/dollar_bill/image_0036.jpg
101_ObjectCategories/dollar_bill/image_0037.jpg
101_ObjectCategories/dollar_bill/image_0038.jpg
101_ObjectCategories/dollar_bill/image_0040.jpg
101_ObjectCategories/dollar_bill/image_0041.jpg
101_ObjectCategories/dollar_bill/image_0042.jpg
101_ObjectCategories/dollar_bill/image_0043.jpg
101_ObjectCategories/dollar_bill/image_0044.jpg
101_ObjectCategories/dollar_bill/image_0046.jpg
101_ObjectCategories/dollar_bill/image_0047.jpg
101_ObjectCategories/dollar_bill/image_0048.jpg
101_ObjectCategories/dollar_bill/image_0049.jpg
101_ObjectCategories/dollar_bill/image_0050.jpg
101_ObjectCategories/dollar_bill/image_0052.jpg
101_ObjectCategories/dollar_bill/image_0001.jpg
101_ObjectCategories/dollar_bill/image_0002.jpg
101_ObjectCategories/dollar_bill/image_0003.jpg
101_ObjectCategories/dollar_bill/image_0009.jpg
101_ObjectCategories/dollar_bill/image_0015.jpg
101_ObjectCategories/dollar_bill/image_0021.jpg
101_ObjectCategories/dollar_bill/image_0027.jpg
101_ObjectCategories/dollar_bill/image_0033.jpg
101_ObjectCategories/dollar_bill/image_0039.jpg
101_ObjectCategories/dollar_bill/image_0045.jpg
101_ObjectCategories/dollar_bill/image_0051.jpg
101_ObjectCategories/dolphin/
101_ObjectCategories/dolphin/image_0004.jpg
101_ObjectCategories/dolphin/image_0005.jpg
101_ObjectCategories/dolphin/image_0006.jpg
101_ObjectCategories/dolphin/image_0007.jpg
101_ObjectCategories/dolphin/image_0008.jpg
101_ObjectCategories/dolphin/image_0010.jpg
101_ObjectCategories/dolphin/image_0011.jpg
101_ObjectCategories/dolphin/image_0012.jpg
101_ObjectCategories/dolphin/image_0013.jpg
101_ObjectCategories/dolphin/image_0014.jpg
101_ObjectCategories/dolphin/image_0016.jpg
101_ObjectCategories/dolphin/image_0017.jpg
101_ObjectCategories/dolphin/image_0018.jpg
101_ObjectCategories/dolphin/image_0019.jpg
101_ObjectCategories/dolphin/image_0020.jpg
101_ObjectCategories/dolphin/image_0022.jpg
101_ObjectCategories/dolphin/image_0023.jpg
101_ObjectCategories/dolphin/image_0024.jpg
101_ObjectCategories/dolphin/image_0025.jpg
101_ObjectCategories/dolphin/image_0026.jpg
101_ObjectCategories/dolphin/image_0028.jpg
101_ObjectCategories/dolphin/image_0029.jpg
101_ObjectCategories/dolphin/image_0030.jpg
101_ObjectCategories/dolphin/image_0031.jpg
101_ObjectCategories/dolphin/image_0032.jpg
101_ObjectCategories/dolphin/image_0034.jpg
101_ObjectCategories/dolphin/image_0035.jpg
101_ObjectCategories/dolphin/image_0036.jpg
101_ObjectCategories/dolphin/image_0037.jpg
101_ObjectCategories/dolphin/image_0038.jpg
101_ObjectCategories/dolphin/image_0040.jpg
101_ObjectCategories/dolphin/image_0041.jpg
101_ObjectCategories/dolphin/image_0042.jpg
101_ObjectCategories/dolphin/image_0043.jpg
101_ObjectCategories/dolphin/image_0044.jpg
101_ObjectCategories/dolphin/image_0046.jpg
101_ObjectCategories/dolphin/image_0047.jpg
101_ObjectCategories/dolphin/image_0048.jpg
101_ObjectCategories/dolphin/image_0049.jpg
101_ObjectCategories/dolphin/image_0050.jpg
101_ObjectCategories/dolphin/image_0052.jpg
101_ObjectCategories/dolphin/image_0053.jpg
101_ObjectCategories/dolphin/image_0054.jpg
101_ObjectCategories/dolphin/image_0055.jpg
101_ObjectCategories/dolphin/image_0056.jpg
101_ObjectCategories/dolphin/image_0058.jpg
101_ObjectCategories/dolphin/image_0059.jpg
101_ObjectCategories/dolphin/image_0060.jpg
101_ObjectCategories/dolphin/image_0061.jpg
101_ObjectCategories/dolphin/image_0062.jpg
101_ObjectCategories/dolphin/image_0064.jpg
101_ObjectCategories/dolphin/image_0065.jpg
101_ObjectCategories/dolphin/image_0001.jpg
101_ObjectCategories/dolphin/image_0002.jpg
101_ObjectCategories/dolphin/image_0003.jpg
101_ObjectCategories/dolphin/image_0009.jpg
101_ObjectCategories/dolphin/image_0015.jpg
101_ObjectCategories/dolphin/image_0021.jpg
101_ObjectCategories/dolphin/image_0027.jpg
101_ObjectCategories/dolphin/image_0033.jpg
101_ObjectCategories/dolphin/image_0039.jpg
101_ObjectCategories/dolphin/image_0045.jpg
101_ObjectCategories/dolphin/image_0051.jpg
101_ObjectCategories/dolphin/image_0057.jpg
101_ObjectCategories/dolphin/image_0063.jpg
101_ObjectCategories/dragonfly/
101_ObjectCategories/dragonfly/image_0004.jpg
101_ObjectCategories/dragonfly/image_0005.jpg
101_ObjectCategories/dragonfly/image_0006.jpg
101_ObjectCategories/dragonfly/image_0007.jpg
101_ObjectCategories/dragonfly/image_0008.jpg
101_ObjectCategories/dragonfly/image_0010.jpg
101_ObjectCategories/dragonfly/image_0011.jpg
101_ObjectCategories/dragonfly/image_0012.jpg
101_ObjectCategories/dragonfly/image_0013.jpg
101_ObjectCategories/dragonfly/image_0014.jpg
101_ObjectCategories/dragonfly/image_0016.jpg
101_ObjectCategories/dragonfly/image_0017.jpg
101_ObjectCategories/dragonfly/image_0018.jpg
101_ObjectCategories/dragonfly/image_0019.jpg
101_ObjectCategories/dragonfly/image_0020.jpg
101_ObjectCategories/dragonfly/image_0022.jpg
101_ObjectCategories/dragonfly/image_0023.jpg
101_ObjectCategories/dragonfly/image_0024.jpg
101_ObjectCategories/dragonfly/image_0025.jpg
101_ObjectCategories/dragonfly/image_0026.jpg
101_ObjectCategories/dragonfly/image_0028.jpg
101_ObjectCategories/dragonfly/image_0029.jpg
101_ObjectCategories/dragonfly/image_0030.jpg
101_ObjectCategories/dragonfly/image_0031.jpg
101_ObjectCategories/dragonfly/image_0032.jpg
101_ObjectCategories/dragonfly/image_0034.jpg
101_ObjectCategories/dragonfly/image_0035.jpg
101_ObjectCategories/dragonfly/image_0036.jpg
101_ObjectCategories/dragonfly/image_0037.jpg
101_ObjectCategories/dragonfly/image_0038.jpg
101_ObjectCategories/dragonfly/image_0040.jpg
101_ObjectCategories/dragonfly/image_0041.jpg
101_ObjectCategories/dragonfly/image_0042.jpg
101_ObjectCategories/dragonfly/image_0043.jpg
101_ObjectCategories/dragonfly/image_0044.jpg
101_ObjectCategories/dragonfly/image_0046.jpg
101_ObjectCategories/dragonfly/image_0047.jpg
101_ObjectCategories/dragonfly/image_0048.jpg
101_ObjectCategories/dragonfly/image_0049.jpg
101_ObjectCategories/dragonfly/image_0050.jpg
101_ObjectCategories/dragonfly/image_0052.jpg
101_ObjectCategories/dragonfly/image_0053.jpg
101_ObjectCategories/dragonfly/image_0054.jpg
101_ObjectCategories/dragonfly/image_0055.jpg
101_ObjectCategories/dragonfly/image_0056.jpg
101_ObjectCategories/dragonfly/image_0058.jpg
101_ObjectCategories/dragonfly/image_0059.jpg
101_ObjectCategories/dragonfly/image_0060.jpg
101_ObjectCategories/dragonfly/image_0061.jpg
101_ObjectCategories/dragonfly/image_0062.jpg
101_ObjectCategories/dragonfly/image_0064.jpg
101_ObjectCategories/dragonfly/image_0065.jpg
101_ObjectCategories/dragonfly/image_0066.jpg
101_ObjectCategories/dragonfly/image_0067.jpg
101_ObjectCategories/dragonfly/image_0068.jpg
101_ObjectCategories/dragonfly/image_0001.jpg
101_ObjectCategories/dragonfly/image_0002.jpg
101_ObjectCategories/dragonfly/image_0003.jpg
101_ObjectCategories/dragonfly/image_0009.jpg
101_ObjectCategories/dragonfly/image_0015.jpg
101_ObjectCategories/dragonfly/image_0021.jpg
101_ObjectCategories/dragonfly/image_0027.jpg
101_ObjectCategories/dragonfly/image_0033.jpg
101_ObjectCategories/dragonfly/image_0039.jpg
101_ObjectCategories/dragonfly/image_0045.jpg
101_ObjectCategories/dragonfly/image_0051.jpg
101_ObjectCategories/dragonfly/image_0057.jpg
101_ObjectCategories/dragonfly/image_0063.jpg
101_ObjectCategories/electric_guitar/
101_ObjectCategories/electric_guitar/image_0004.jpg
101_ObjectCategories/electric_guitar/image_0005.jpg
101_ObjectCategories/electric_guitar/image_0006.jpg
101_ObjectCategories/electric_guitar/image_0007.jpg
101_ObjectCategories/electric_guitar/image_0008.jpg
101_ObjectCategories/electric_guitar/image_0010.jpg
101_ObjectCategories/electric_guitar/image_0011.jpg
101_ObjectCategories/electric_guitar/image_0012.jpg
101_ObjectCategories/electric_guitar/image_0013.jpg
101_ObjectCategories/electric_guitar/image_0014.jpg
101_ObjectCategories/electric_guitar/image_0016.jpg
101_ObjectCategories/electric_guitar/image_0017.jpg
101_ObjectCategories/electric_guitar/image_0018.jpg
101_ObjectCategories/electric_guitar/image_0019.jpg
101_ObjectCategories/electric_guitar/image_0020.jpg
101_ObjectCategories/electric_guitar/image_0022.jpg
101_ObjectCategories/electric_guitar/image_0023.jpg
101_ObjectCategories/electric_guitar/image_0024.jpg
101_ObjectCategories/electric_guitar/image_0025.jpg
101_ObjectCategories/electric_guitar/image_0026.jpg
101_ObjectCategories/electric_guitar/image_0028.jpg
101_ObjectCategories/electric_guitar/image_0029.jpg
101_ObjectCategories/electric_guitar/image_0030.jpg
101_ObjectCategories/electric_guitar/image_0031.jpg
101_ObjectCategories/electric_guitar/image_0032.jpg
101_ObjectCategories/electric_guitar/image_0034.jpg
101_ObjectCategories/electric_guitar/image_0035.jpg
101_ObjectCategories/electric_guitar/image_0036.jpg
101_ObjectCategories/electric_guitar/image_0037.jpg
101_ObjectCategories/electric_guitar/image_0038.jpg
101_ObjectCategories/electric_guitar/image_0040.jpg
101_ObjectCategories/electric_guitar/image_0041.jpg
101_ObjectCategories/electric_guitar/image_0042.jpg
101_ObjectCategories/electric_guitar/image_0043.jpg
101_ObjectCategories/electric_guitar/image_0044.jpg
101_ObjectCategories/electric_guitar/image_0046.jpg
101_ObjectCategories/electric_guitar/image_0047.jpg
101_ObjectCategories/electric_guitar/image_0048.jpg
101_ObjectCategories/electric_guitar/image_0049.jpg
101_ObjectCategories/electric_guitar/image_0050.jpg
101_ObjectCategories/electric_guitar/image_0052.jpg
101_ObjectCategories/electric_guitar/image_0053.jpg
101_ObjectCategories/electric_guitar/image_0054.jpg
101_ObjectCategories/electric_guitar/image_0055.jpg
101_ObjectCategories/electric_guitar/image_0056.jpg
101_ObjectCategories/electric_guitar/image_0058.jpg
101_ObjectCategories/electric_guitar/image_0059.jpg
101_ObjectCategories/electric_guitar/image_0060.jpg
101_ObjectCategories/electric_guitar/image_0061.jpg
101_ObjectCategories/electric_guitar/image_0062.jpg
101_ObjectCategories/electric_guitar/image_0064.jpg
101_ObjectCategories/electric_guitar/image_0065.jpg
101_ObjectCategories/electric_guitar/image_0066.jpg
101_ObjectCategories/electric_guitar/image_0067.jpg
101_ObjectCategories/electric_guitar/image_0068.jpg
101_ObjectCategories/electric_guitar/image_0070.jpg
101_ObjectCategories/electric_guitar/image_0071.jpg
101_ObjectCategories/electric_guitar/image_0072.jpg
101_ObjectCategories/electric_guitar/image_0073.jpg
101_ObjectCategories/electric_guitar/image_0074.jpg
101_ObjectCategories/electric_guitar/image_0001.jpg
101_ObjectCategories/electric_guitar/image_0002.jpg
101_ObjectCategories/electric_guitar/image_0003.jpg
101_ObjectCategories/electric_guitar/image_0009.jpg
101_ObjectCategories/electric_guitar/image_0015.jpg
101_ObjectCategories/electric_guitar/image_0021.jpg
101_ObjectCategories/electric_guitar/image_0027.jpg
101_ObjectCategories/electric_guitar/image_0033.jpg
101_ObjectCategories/electric_guitar/image_0039.jpg
101_ObjectCategories/electric_guitar/image_0045.jpg
101_ObjectCategories/electric_guitar/image_0051.jpg
101_ObjectCategories/electric_guitar/image_0057.jpg
101_ObjectCategories/electric_guitar/image_0063.jpg
101_ObjectCategories/electric_guitar/image_0069.jpg
101_ObjectCategories/electric_guitar/image_0075.jpg
101_ObjectCategories/elephant/
101_ObjectCategories/elephant/image_0004.jpg
101_ObjectCategories/elephant/image_0005.jpg
101_ObjectCategories/elephant/image_0006.jpg
101_ObjectCategories/elephant/image_0007.jpg
101_ObjectCategories/elephant/image_0008.jpg
101_ObjectCategories/elephant/image_0010.jpg
101_ObjectCategories/elephant/image_0011.jpg
101_ObjectCategories/elephant/image_0012.jpg
101_ObjectCategories/elephant/image_0013.jpg
101_ObjectCategories/elephant/image_0014.jpg
101_ObjectCategories/elephant/image_0016.jpg
101_ObjectCategories/elephant/image_0017.jpg
101_ObjectCategories/elephant/image_0018.jpg
101_ObjectCategories/elephant/image_0019.jpg
101_ObjectCategories/elephant/image_0020.jpg
101_ObjectCategories/elephant/image_0022.jpg
101_ObjectCategories/elephant/image_0023.jpg
101_ObjectCategories/elephant/image_0024.jpg
101_ObjectCategories/elephant/image_0025.jpg
101_ObjectCategories/elephant/image_0026.jpg
101_ObjectCategories/elephant/image_0028.jpg
101_ObjectCategories/elephant/image_0029.jpg
101_ObjectCategories/elephant/image_0030.jpg
101_ObjectCategories/elephant/image_0031.jpg
101_ObjectCategories/elephant/image_0032.jpg
101_ObjectCategories/elephant/image_0034.jpg
101_ObjectCategories/elephant/image_0035.jpg
101_ObjectCategories/elephant/image_0036.jpg
101_ObjectCategories/elephant/image_0037.jpg
101_ObjectCategories/elephant/image_0038.jpg
101_ObjectCategories/elephant/image_0040.jpg
101_ObjectCategories/elephant/image_0041.jpg
101_ObjectCategories/elephant/image_0042.jpg
101_ObjectCategories/elephant/image_0043.jpg
101_ObjectCategories/elephant/image_0044.jpg
101_ObjectCategories/elephant/image_0046.jpg
101_ObjectCategories/elephant/image_0047.jpg
101_ObjectCategories/elephant/image_0048.jpg
101_ObjectCategories/elephant/image_0049.jpg
101_ObjectCategories/elephant/image_0050.jpg
101_ObjectCategories/elephant/image_0052.jpg
101_ObjectCategories/elephant/image_0053.jpg
101_ObjectCategories/elephant/image_0054.jpg
101_ObjectCategories/elephant/image_0055.jpg
101_ObjectCategories/elephant/image_0056.jpg
101_ObjectCategories/elephant/image_0058.jpg
101_ObjectCategories/elephant/image_0059.jpg
101_ObjectCategories/elephant/image_0060.jpg
101_ObjectCategories/elephant/image_0061.jpg
101_ObjectCategories/elephant/image_0062.jpg
101_ObjectCategories/elephant/image_0064.jpg
101_ObjectCategories/elephant/image_0001.jpg
101_ObjectCategories/elephant/image_0002.jpg
101_ObjectCategories/elephant/image_0003.jpg
101_ObjectCategories/elephant/image_0009.jpg
101_ObjectCategories/elephant/image_0015.jpg
101_ObjectCategories/elephant/image_0021.jpg
101_ObjectCategories/elephant/image_0027.jpg
101_ObjectCategories/elephant/image_0033.jpg
101_ObjectCategories/elephant/image_0039.jpg
101_ObjectCategories/elephant/image_0045.jpg
101_ObjectCategories/elephant/image_0051.jpg
101_ObjectCategories/elephant/image_0057.jpg
101_ObjectCategories/elephant/image_0063.jpg
101_ObjectCategories/emu/
101_ObjectCategories/emu/image_0004.jpg
101_ObjectCategories/emu/image_0005.jpg
101_ObjectCategories/emu/image_0006.jpg
101_ObjectCategories/emu/image_0007.jpg
101_ObjectCategories/emu/image_0008.jpg
101_ObjectCategories/emu/image_0010.jpg
101_ObjectCategories/emu/image_0011.jpg
101_ObjectCategories/emu/image_0012.jpg
101_ObjectCategories/emu/image_0013.jpg
101_ObjectCategories/emu/image_0014.jpg
101_ObjectCategories/emu/image_0016.jpg
101_ObjectCategories/emu/image_0017.jpg
101_ObjectCategories/emu/image_0018.jpg
101_ObjectCategories/emu/image_0019.jpg
101_ObjectCategories/emu/image_0020.jpg
101_ObjectCategories/emu/image_0022.jpg
101_ObjectCategories/emu/image_0023.jpg
101_ObjectCategories/emu/image_0024.jpg
101_ObjectCategories/emu/image_0025.jpg
101_ObjectCategories/emu/image_0026.jpg
101_ObjectCategories/emu/image_0028.jpg
101_ObjectCategories/emu/image_0029.jpg
101_ObjectCategories/emu/image_0030.jpg
101_ObjectCategories/emu/image_0031.jpg
101_ObjectCategories/emu/image_0032.jpg
101_ObjectCategories/emu/image_0034.jpg
101_ObjectCategories/emu/image_0035.jpg
101_ObjectCategories/emu/image_0036.jpg
101_ObjectCategories/emu/image_0037.jpg
101_ObjectCategories/emu/image_0038.jpg
101_ObjectCategories/emu/image_0040.jpg
101_ObjectCategories/emu/image_0041.jpg
101_ObjectCategories/emu/image_0042.jpg
101_ObjectCategories/emu/image_0043.jpg
101_ObjectCategories/emu/image_0044.jpg
101_ObjectCategories/emu/image_0046.jpg
101_ObjectCategories/emu/image_0047.jpg
101_ObjectCategories/emu/image_0048.jpg
101_ObjectCategories/emu/image_0049.jpg
101_ObjectCategories/emu/image_0050.jpg
101_ObjectCategories/emu/image_0052.jpg
101_ObjectCategories/emu/image_0053.jpg
101_ObjectCategories/emu/image_0001.jpg
101_ObjectCategories/emu/image_0002.jpg
101_ObjectCategories/emu/image_0003.jpg
101_ObjectCategories/emu/image_0009.jpg
101_ObjectCategories/emu/image_0015.jpg
101_ObjectCategories/emu/image_0021.jpg
101_ObjectCategories/emu/image_0027.jpg
101_ObjectCategories/emu/image_0033.jpg
101_ObjectCategories/emu/image_0039.jpg
101_ObjectCategories/emu/image_0045.jpg
101_ObjectCategories/emu/image_0051.jpg
101_ObjectCategories/euphonium/
101_ObjectCategories/euphonium/image_0004.jpg
101_ObjectCategories/euphonium/image_0005.jpg
101_ObjectCategories/euphonium/image_0006.jpg
101_ObjectCategories/euphonium/image_0007.jpg
101_ObjectCategories/euphonium/image_0008.jpg
101_ObjectCategories/euphonium/image_0010.jpg
101_ObjectCategories/euphonium/image_0011.jpg
101_ObjectCategories/euphonium/image_0012.jpg
101_ObjectCategories/euphonium/image_0013.jpg
101_ObjectCategories/euphonium/image_0014.jpg
101_ObjectCategories/euphonium/image_0016.jpg
101_ObjectCategories/euphonium/image_0017.jpg
101_ObjectCategories/euphonium/image_0018.jpg
101_ObjectCategories/euphonium/image_0019.jpg
101_ObjectCategories/euphonium/image_0020.jpg
101_ObjectCategories/euphonium/image_0022.jpg
101_ObjectCategories/euphonium/image_0023.jpg
101_ObjectCategories/euphonium/image_0024.jpg
101_ObjectCategories/euphonium/image_0025.jpg
101_ObjectCategories/euphonium/image_0026.jpg
101_ObjectCategories/euphonium/image_0028.jpg
101_ObjectCategories/euphonium/image_0029.jpg
101_ObjectCategories/euphonium/image_0030.jpg
101_ObjectCategories/euphonium/image_0031.jpg
101_ObjectCategories/euphonium/image_0032.jpg
101_ObjectCategories/euphonium/image_0034.jpg
101_ObjectCategories/euphonium/image_0035.jpg
101_ObjectCategories/euphonium/image_0036.jpg
101_ObjectCategories/euphonium/image_0037.jpg
101_ObjectCategories/euphonium/image_0038.jpg
101_ObjectCategories/euphonium/image_0040.jpg
101_ObjectCategories/euphonium/image_0041.jpg
101_ObjectCategories/euphonium/image_0042.jpg
101_ObjectCategories/euphonium/image_0043.jpg
101_ObjectCategories/euphonium/image_0044.jpg
101_ObjectCategories/euphonium/image_0046.jpg
101_ObjectCategories/euphonium/image_0047.jpg
101_ObjectCategories/euphonium/image_0048.jpg
101_ObjectCategories/euphonium/image_0049.jpg
101_ObjectCategories/euphonium/image_0050.jpg
101_ObjectCategories/euphonium/image_0052.jpg
101_ObjectCategories/euphonium/image_0053.jpg
101_ObjectCategories/euphonium/image_0054.jpg
101_ObjectCategories/euphonium/image_0055.jpg
101_ObjectCategories/euphonium/image_0056.jpg
101_ObjectCategories/euphonium/image_0058.jpg
101_ObjectCategories/euphonium/image_0059.jpg
101_ObjectCategories/euphonium/image_0060.jpg
101_ObjectCategories/euphonium/image_0061.jpg
101_ObjectCategories/euphonium/image_0062.jpg
101_ObjectCategories/euphonium/image_0064.jpg
101_ObjectCategories/euphonium/image_0001.jpg
101_ObjectCategories/euphonium/image_0002.jpg
101_ObjectCategories/euphonium/image_0003.jpg
101_ObjectCategories/euphonium/image_0009.jpg
101_ObjectCategories/euphonium/image_0015.jpg
101_ObjectCategories/euphonium/image_0021.jpg
101_ObjectCategories/euphonium/image_0027.jpg
101_ObjectCategories/euphonium/image_0033.jpg
101_ObjectCategories/euphonium/image_0039.jpg
101_ObjectCategories/euphonium/image_0045.jpg
101_ObjectCategories/euphonium/image_0051.jpg
101_ObjectCategories/euphonium/image_0057.jpg
101_ObjectCategories/euphonium/image_0063.jpg
101_ObjectCategories/ewer/
101_ObjectCategories/ewer/image_0004.jpg
101_ObjectCategories/ewer/image_0005.jpg
101_ObjectCategories/ewer/image_0006.jpg
101_ObjectCategories/ewer/image_0007.jpg
101_ObjectCategories/ewer/image_0008.jpg
101_ObjectCategories/ewer/image_0010.jpg
101_ObjectCategories/ewer/image_0011.jpg
101_ObjectCategories/ewer/image_0012.jpg
101_ObjectCategories/ewer/image_0013.jpg
101_ObjectCategories/ewer/image_0014.jpg
101_ObjectCategories/ewer/image_0016.jpg
101_ObjectCategories/ewer/image_0017.jpg
101_ObjectCategories/ewer/image_0018.jpg
101_ObjectCategories/ewer/image_0019.jpg
101_ObjectCategories/ewer/image_0020.jpg
101_ObjectCategories/ewer/image_0022.jpg
101_ObjectCategories/ewer/image_0023.jpg
101_ObjectCategories/ewer/image_0024.jpg
101_ObjectCategories/ewer/image_0025.jpg
101_ObjectCategories/ewer/image_0026.jpg
101_ObjectCategories/ewer/image_0028.jpg
101_ObjectCategories/ewer/image_0029.jpg
101_ObjectCategories/ewer/image_0030.jpg
101_ObjectCategories/ewer/image_0031.jpg
101_ObjectCategories/ewer/image_0032.jpg
101_ObjectCategories/ewer/image_0034.jpg
101_ObjectCategories/ewer/image_0035.jpg
101_ObjectCategories/ewer/image_0036.jpg
101_ObjectCategories/ewer/image_0037.jpg
101_ObjectCategories/ewer/image_0038.jpg
101_ObjectCategories/ewer/image_0040.jpg
101_ObjectCategories/ewer/image_0041.jpg
101_ObjectCategories/ewer/image_0042.jpg
101_ObjectCategories/ewer/image_0043.jpg
101_ObjectCategories/ewer/image_0044.jpg
101_ObjectCategories/ewer/image_0046.jpg
101_ObjectCategories/ewer/image_0047.jpg
101_ObjectCategories/ewer/image_0048.jpg
101_ObjectCategories/ewer/image_0049.jpg
101_ObjectCategories/ewer/image_0050.jpg
101_ObjectCategories/ewer/image_0052.jpg
101_ObjectCategories/ewer/image_0053.jpg
101_ObjectCategories/ewer/image_0054.jpg
101_ObjectCategories/ewer/image_0055.jpg
101_ObjectCategories/ewer/image_0056.jpg
101_ObjectCategories/ewer/image_0058.jpg
101_ObjectCategories/ewer/image_0059.jpg
101_ObjectCategories/ewer/image_0060.jpg
101_ObjectCategories/ewer/image_0061.jpg
101_ObjectCategories/ewer/image_0062.jpg
101_ObjectCategories/ewer/image_0064.jpg
101_ObjectCategories/ewer/image_0065.jpg
101_ObjectCategories/ewer/image_0066.jpg
101_ObjectCategories/ewer/image_0067.jpg
101_ObjectCategories/ewer/image_0068.jpg
101_ObjectCategories/ewer/image_0070.jpg
101_ObjectCategories/ewer/image_0071.jpg
101_ObjectCategories/ewer/image_0072.jpg
101_ObjectCategories/ewer/image_0073.jpg
101_ObjectCategories/ewer/image_0074.jpg
101_ObjectCategories/ewer/image_0076.jpg
101_ObjectCategories/ewer/image_0077.jpg
101_ObjectCategories/ewer/image_0078.jpg
101_ObjectCategories/ewer/image_0079.jpg
101_ObjectCategories/ewer/image_0080.jpg
101_ObjectCategories/ewer/image_0082.jpg
101_ObjectCategories/ewer/image_0083.jpg
101_ObjectCategories/ewer/image_0084.jpg
101_ObjectCategories/ewer/image_0085.jpg
101_ObjectCategories/ewer/image_0001.jpg
101_ObjectCategories/ewer/image_0002.jpg
101_ObjectCategories/ewer/image_0003.jpg
101_ObjectCategories/ewer/image_0009.jpg
101_ObjectCategories/ewer/image_0015.jpg
101_ObjectCategories/ewer/image_0021.jpg
101_ObjectCategories/ewer/image_0027.jpg
101_ObjectCategories/ewer/image_0033.jpg
101_ObjectCategories/ewer/image_0039.jpg
101_ObjectCategories/ewer/image_0045.jpg
101_ObjectCategories/ewer/image_0051.jpg
101_ObjectCategories/ewer/image_0057.jpg
101_ObjectCategories/ewer/image_0063.jpg
101_ObjectCategories/ewer/image_0069.jpg
101_ObjectCategories/ewer/image_0075.jpg
101_ObjectCategories/ewer/image_0081.jpg
101_ObjectCategories/ferry/
101_ObjectCategories/ferry/image_0004.jpg
101_ObjectCategories/ferry/image_0005.jpg
101_ObjectCategories/ferry/image_0006.jpg
101_ObjectCategories/ferry/image_0007.jpg
101_ObjectCategories/ferry/image_0008.jpg
101_ObjectCategories/ferry/image_0010.jpg
101_ObjectCategories/ferry/image_0011.jpg
101_ObjectCategories/ferry/image_0012.jpg
101_ObjectCategories/ferry/image_0013.jpg
101_ObjectCategories/ferry/image_0014.jpg
101_ObjectCategories/ferry/image_0016.jpg
101_ObjectCategories/ferry/image_0017.jpg
101_ObjectCategories/ferry/image_0018.jpg
101_ObjectCategories/ferry/image_0019.jpg
101_ObjectCategories/ferry/image_0020.jpg
101_ObjectCategories/ferry/image_0022.jpg
101_ObjectCategories/ferry/image_0023.jpg
101_ObjectCategories/ferry/image_0024.jpg
101_ObjectCategories/ferry/image_0025.jpg
101_ObjectCategories/ferry/image_0026.jpg
101_ObjectCategories/ferry/image_0028.jpg
101_ObjectCategories/ferry/image_0029.jpg
101_ObjectCategories/ferry/image_0030.jpg
101_ObjectCategories/ferry/image_0031.jpg
101_ObjectCategories/ferry/image_0032.jpg
101_ObjectCategories/ferry/image_0034.jpg
101_ObjectCategories/ferry/image_0035.jpg
101_ObjectCategories/ferry/image_0036.jpg
101_ObjectCategories/ferry/image_0037.jpg
101_ObjectCategories/ferry/image_0038.jpg
101_ObjectCategories/ferry/image_0040.jpg
101_ObjectCategories/ferry/image_0041.jpg
101_ObjectCategories/ferry/image_0042.jpg
101_ObjectCategories/ferry/image_0043.jpg
101_ObjectCategories/ferry/image_0044.jpg
101_ObjectCategories/ferry/image_0046.jpg
101_ObjectCategories/ferry/image_0047.jpg
101_ObjectCategories/ferry/image_0048.jpg
101_ObjectCategories/ferry/image_0049.jpg
101_ObjectCategories/ferry/image_0050.jpg
101_ObjectCategories/ferry/image_0052.jpg
101_ObjectCategories/ferry/image_0053.jpg
101_ObjectCategories/ferry/image_0054.jpg
101_ObjectCategories/ferry/image_0055.jpg
101_ObjectCategories/ferry/image_0056.jpg
101_ObjectCategories/ferry/image_0058.jpg
101_ObjectCategories/ferry/image_0059.jpg
101_ObjectCategories/ferry/image_0060.jpg
101_ObjectCategories/ferry/image_0061.jpg
101_ObjectCategories/ferry/image_0062.jpg
101_ObjectCategories/ferry/image_0064.jpg
101_ObjectCategories/ferry/image_0065.jpg
101_ObjectCategories/ferry/image_0066.jpg
101_ObjectCategories/ferry/image_0067.jpg
101_ObjectCategories/ferry/image_0001.jpg
101_ObjectCategories/ferry/image_0002.jpg
101_ObjectCategories/ferry/image_0003.jpg
101_ObjectCategories/ferry/image_0009.jpg
101_ObjectCategories/ferry/image_0015.jpg
101_ObjectCategories/ferry/image_0021.jpg
101_ObjectCategories/ferry/image_0027.jpg
101_ObjectCategories/ferry/image_0033.jpg
101_ObjectCategories/ferry/image_0039.jpg
101_ObjectCategories/ferry/image_0045.jpg
101_ObjectCategories/ferry/image_0051.jpg
101_ObjectCategories/ferry/image_0057.jpg
101_ObjectCategories/ferry/image_0063.jpg
101_ObjectCategories/flamingo/
101_ObjectCategories/flamingo/image_0004.jpg
101_ObjectCategories/flamingo/image_0005.jpg
101_ObjectCategories/flamingo/image_0006.jpg
101_ObjectCategories/flamingo/image_0007.jpg
101_ObjectCategories/flamingo/image_0008.jpg
101_ObjectCategories/flamingo/image_0010.jpg
101_ObjectCategories/flamingo/image_0011.jpg
101_ObjectCategories/flamingo/image_0012.jpg
101_ObjectCategories/flamingo/image_0013.jpg
101_ObjectCategories/flamingo/image_0014.jpg
101_ObjectCategories/flamingo/image_0016.jpg
101_ObjectCategories/flamingo/image_0017.jpg
101_ObjectCategories/flamingo/image_0018.jpg
101_ObjectCategories/flamingo/image_0019.jpg
101_ObjectCategories/flamingo/image_0020.jpg
101_ObjectCategories/flamingo/image_0022.jpg
101_ObjectCategories/flamingo/image_0023.jpg
101_ObjectCategories/flamingo/image_0024.jpg
101_ObjectCategories/flamingo/image_0025.jpg
101_ObjectCategories/flamingo/image_0026.jpg
101_ObjectCategories/flamingo/image_0028.jpg
101_ObjectCategories/flamingo/image_0029.jpg
101_ObjectCategories/flamingo/image_0030.jpg
101_ObjectCategories/flamingo/image_0031.jpg
101_ObjectCategories/flamingo/image_0032.jpg
101_ObjectCategories/flamingo/image_0034.jpg
101_ObjectCategories/flamingo/image_0035.jpg
101_ObjectCategories/flamingo/image_0036.jpg
101_ObjectCategories/flamingo/image_0037.jpg
101_ObjectCategories/flamingo/image_0038.jpg
101_ObjectCategories/flamingo/image_0040.jpg
101_ObjectCategories/flamingo/image_0041.jpg
101_ObjectCategories/flamingo/image_0042.jpg
101_ObjectCategories/flamingo/image_0043.jpg
101_ObjectCategories/flamingo/image_0044.jpg
101_ObjectCategories/flamingo/image_0046.jpg
101_ObjectCategories/flamingo/image_0047.jpg
101_ObjectCategories/flamingo/image_0048.jpg
101_ObjectCategories/flamingo/image_0049.jpg
101_ObjectCategories/flamingo/image_0050.jpg
101_ObjectCategories/flamingo/image_0052.jpg
101_ObjectCategories/flamingo/image_0053.jpg
101_ObjectCategories/flamingo/image_0054.jpg
101_ObjectCategories/flamingo/image_0055.jpg
101_ObjectCategories/flamingo/image_0056.jpg
101_ObjectCategories/flamingo/image_0058.jpg
101_ObjectCategories/flamingo/image_0059.jpg
101_ObjectCategories/flamingo/image_0060.jpg
101_ObjectCategories/flamingo/image_0061.jpg
101_ObjectCategories/flamingo/image_0062.jpg
101_ObjectCategories/flamingo/image_0064.jpg
101_ObjectCategories/flamingo/image_0065.jpg
101_ObjectCategories/flamingo/image_0066.jpg
101_ObjectCategories/flamingo/image_0067.jpg
101_ObjectCategories/flamingo/image_0001.jpg
101_ObjectCategories/flamingo/image_0002.jpg
101_ObjectCategories/flamingo/image_0003.jpg
101_ObjectCategories/flamingo/image_0009.jpg
101_ObjectCategories/flamingo/image_0015.jpg
101_ObjectCategories/flamingo/image_0021.jpg
101_ObjectCategories/flamingo/image_0027.jpg
101_ObjectCategories/flamingo/image_0033.jpg
101_ObjectCategories/flamingo/image_0039.jpg
101_ObjectCategories/flamingo/image_0045.jpg
101_ObjectCategories/flamingo/image_0051.jpg
101_ObjectCategories/flamingo/image_0057.jpg
101_ObjectCategories/flamingo/image_0063.jpg
101_ObjectCategories/flamingo_head/
101_ObjectCategories/flamingo_head/image_0004.jpg
101_ObjectCategories/flamingo_head/image_0005.jpg
101_ObjectCategories/flamingo_head/image_0006.jpg
101_ObjectCategories/flamingo_head/image_0007.jpg
101_ObjectCategories/flamingo_head/image_0008.jpg
101_ObjectCategories/flamingo_head/image_0010.jpg
101_ObjectCategories/flamingo_head/image_0011.jpg
101_ObjectCategories/flamingo_head/image_0012.jpg
101_ObjectCategories/flamingo_head/image_0013.jpg
101_ObjectCategories/flamingo_head/image_0014.jpg
101_ObjectCategories/flamingo_head/image_0016.jpg
101_ObjectCategories/flamingo_head/image_0017.jpg
101_ObjectCategories/flamingo_head/image_0018.jpg
101_ObjectCategories/flamingo_head/image_0019.jpg
101_ObjectCategories/flamingo_head/image_0020.jpg
101_ObjectCategories/flamingo_head/image_0022.jpg
101_ObjectCategories/flamingo_head/image_0023.jpg
101_ObjectCategories/flamingo_head/image_0024.jpg
101_ObjectCategories/flamingo_head/image_0025.jpg
101_ObjectCategories/flamingo_head/image_0026.jpg
101_ObjectCategories/flamingo_head/image_0028.jpg
101_ObjectCategories/flamingo_head/image_0029.jpg
101_ObjectCategories/flamingo_head/image_0030.jpg
101_ObjectCategories/flamingo_head/image_0031.jpg
101_ObjectCategories/flamingo_head/image_0032.jpg
101_ObjectCategories/flamingo_head/image_0034.jpg
101_ObjectCategories/flamingo_head/image_0035.jpg
101_ObjectCategories/flamingo_head/image_0036.jpg
101_ObjectCategories/flamingo_head/image_0037.jpg
101_ObjectCategories/flamingo_head/image_0038.jpg
101_ObjectCategories/flamingo_head/image_0040.jpg
101_ObjectCategories/flamingo_head/image_0041.jpg
101_ObjectCategories/flamingo_head/image_0042.jpg
101_ObjectCategories/flamingo_head/image_0043.jpg
101_ObjectCategories/flamingo_head/image_0044.jpg
101_ObjectCategories/flamingo_head/image_0001.jpg
101_ObjectCategories/flamingo_head/image_0002.jpg
101_ObjectCategories/flamingo_head/image_0003.jpg
101_ObjectCategories/flamingo_head/image_0009.jpg
101_ObjectCategories/flamingo_head/image_0015.jpg
101_ObjectCategories/flamingo_head/image_0021.jpg
101_ObjectCategories/flamingo_head/image_0027.jpg
101_ObjectCategories/flamingo_head/image_0033.jpg
101_ObjectCategories/flamingo_head/image_0039.jpg
101_ObjectCategories/flamingo_head/image_0045.jpg
101_ObjectCategories/garfield/
101_ObjectCategories/garfield/image_0004.jpg
101_ObjectCategories/garfield/image_0005.jpg
101_ObjectCategories/garfield/image_0006.jpg
101_ObjectCategories/garfield/image_0007.jpg
101_ObjectCategories/garfield/image_0008.jpg
101_ObjectCategories/garfield/image_0010.jpg
101_ObjectCategories/garfield/image_0011.jpg
101_ObjectCategories/garfield/image_0012.jpg
101_ObjectCategories/garfield/image_0013.jpg
101_ObjectCategories/garfield/image_0014.jpg
101_ObjectCategories/garfield/image_0016.jpg
101_ObjectCategories/garfield/image_0017.jpg
101_ObjectCategories/garfield/image_0018.jpg
101_ObjectCategories/garfield/image_0019.jpg
101_ObjectCategories/garfield/image_0020.jpg
101_ObjectCategories/garfield/image_0022.jpg
101_ObjectCategories/garfield/image_0023.jpg
101_ObjectCategories/garfield/image_0024.jpg
101_ObjectCategories/garfield/image_0025.jpg
101_ObjectCategories/garfield/image_0026.jpg
101_ObjectCategories/garfield/image_0028.jpg
101_ObjectCategories/garfield/image_0029.jpg
101_ObjectCategories/garfield/image_0030.jpg
101_ObjectCategories/garfield/image_0031.jpg
101_ObjectCategories/garfield/image_0032.jpg
101_ObjectCategories/garfield/image_0034.jpg
101_ObjectCategories/garfield/image_0001.jpg
101_ObjectCategories/garfield/image_0002.jpg
101_ObjectCategories/garfield/image_0003.jpg
101_ObjectCategories/garfield/image_0009.jpg
101_ObjectCategories/garfield/image_0015.jpg
101_ObjectCategories/garfield/image_0021.jpg
101_ObjectCategories/garfield/image_0027.jpg
101_ObjectCategories/garfield/image_0033.jpg
101_ObjectCategories/gerenuk/
101_ObjectCategories/gerenuk/image_0004.jpg
101_ObjectCategories/gerenuk/image_0005.jpg
101_ObjectCategories/gerenuk/image_0006.jpg
101_ObjectCategories/gerenuk/image_0007.jpg
101_ObjectCategories/gerenuk/image_0008.jpg
101_ObjectCategories/gerenuk/image_0010.jpg
101_ObjectCategories/gerenuk/image_0011.jpg
101_ObjectCategories/gerenuk/image_0012.jpg
101_ObjectCategories/gerenuk/image_0013.jpg
101_ObjectCategories/gerenuk/image_0014.jpg
101_ObjectCategories/gerenuk/image_0016.jpg
101_ObjectCategories/gerenuk/image_0017.jpg
101_ObjectCategories/gerenuk/image_0018.jpg
101_ObjectCategories/gerenuk/image_0019.jpg
101_ObjectCategories/gerenuk/image_0020.jpg
101_ObjectCategories/gerenuk/image_0022.jpg
101_ObjectCategories/gerenuk/image_0023.jpg
101_ObjectCategories/gerenuk/image_0024.jpg
101_ObjectCategories/gerenuk/image_0025.jpg
101_ObjectCategories/gerenuk/image_0026.jpg
101_ObjectCategories/gerenuk/image_0028.jpg
101_ObjectCategories/gerenuk/image_0029.jpg
101_ObjectCategories/gerenuk/image_0030.jpg
101_ObjectCategories/gerenuk/image_0031.jpg
101_ObjectCategories/gerenuk/image_0032.jpg
101_ObjectCategories/gerenuk/image_0034.jpg
101_ObjectCategories/gerenuk/image_0001.jpg
101_ObjectCategories/gerenuk/image_0002.jpg
101_ObjectCategories/gerenuk/image_0003.jpg
101_ObjectCategories/gerenuk/image_0009.jpg
101_ObjectCategories/gerenuk/image_0015.jpg
101_ObjectCategories/gerenuk/image_0021.jpg
101_ObjectCategories/gerenuk/image_0027.jpg
101_ObjectCategories/gerenuk/image_0033.jpg
101_ObjectCategories/gramophone/
101_ObjectCategories/gramophone/image_0004.jpg
101_ObjectCategories/gramophone/image_0005.jpg
101_ObjectCategories/gramophone/image_0006.jpg
101_ObjectCategories/gramophone/image_0007.jpg
101_ObjectCategories/gramophone/image_0008.jpg
101_ObjectCategories/gramophone/image_0010.jpg
101_ObjectCategories/gramophone/image_0011.jpg
101_ObjectCategories/gramophone/image_0012.jpg
101_ObjectCategories/gramophone/image_0013.jpg
101_ObjectCategories/gramophone/image_0014.jpg
101_ObjectCategories/gramophone/image_0016.jpg
101_ObjectCategories/gramophone/image_0017.jpg
101_ObjectCategories/gramophone/image_0018.jpg
101_ObjectCategories/gramophone/image_0019.jpg
101_ObjectCategories/gramophone/image_0020.jpg
101_ObjectCategories/gramophone/image_0022.jpg
101_ObjectCategories/gramophone/image_0023.jpg
101_ObjectCategories/gramophone/image_0024.jpg
101_ObjectCategories/gramophone/image_0025.jpg
101_ObjectCategories/gramophone/image_0026.jpg
101_ObjectCategories/gramophone/image_0028.jpg
101_ObjectCategories/gramophone/image_0029.jpg
101_ObjectCategories/gramophone/image_0030.jpg
101_ObjectCategories/gramophone/image_0031.jpg
101_ObjectCategories/gramophone/image_0032.jpg
101_ObjectCategories/gramophone/image_0034.jpg
101_ObjectCategories/gramophone/image_0035.jpg
101_ObjectCategories/gramophone/image_0036.jpg
101_ObjectCategories/gramophone/image_0037.jpg
101_ObjectCategories/gramophone/image_0038.jpg
101_ObjectCategories/gramophone/image_0040.jpg
101_ObjectCategories/gramophone/image_0041.jpg
101_ObjectCategories/gramophone/image_0042.jpg
101_ObjectCategories/gramophone/image_0043.jpg
101_ObjectCategories/gramophone/image_0044.jpg
101_ObjectCategories/gramophone/image_0046.jpg
101_ObjectCategories/gramophone/image_0047.jpg
101_ObjectCategories/gramophone/image_0048.jpg
101_ObjectCategories/gramophone/image_0049.jpg
101_ObjectCategories/gramophone/image_0050.jpg
101_ObjectCategories/gramophone/image_0001.jpg
101_ObjectCategories/gramophone/image_0002.jpg
101_ObjectCategories/gramophone/image_0003.jpg
101_ObjectCategories/gramophone/image_0009.jpg
101_ObjectCategories/gramophone/image_0015.jpg
101_ObjectCategories/gramophone/image_0021.jpg
101_ObjectCategories/gramophone/image_0027.jpg
101_ObjectCategories/gramophone/image_0033.jpg
101_ObjectCategories/gramophone/image_0039.jpg
101_ObjectCategories/gramophone/image_0045.jpg
101_ObjectCategories/gramophone/image_0051.jpg
101_ObjectCategories/grand_piano/
101_ObjectCategories/grand_piano/image_0004.jpg
101_ObjectCategories/grand_piano/image_0005.jpg
101_ObjectCategories/grand_piano/image_0006.jpg
101_ObjectCategories/grand_piano/image_0007.jpg
101_ObjectCategories/grand_piano/image_0008.jpg
101_ObjectCategories/grand_piano/image_0010.jpg
101_ObjectCategories/grand_piano/image_0011.jpg
101_ObjectCategories/grand_piano/image_0012.jpg
101_ObjectCategories/grand_piano/image_0013.jpg
101_ObjectCategories/grand_piano/image_0014.jpg
101_ObjectCategories/grand_piano/image_0016.jpg
101_ObjectCategories/grand_piano/image_0017.jpg
101_ObjectCategories/grand_piano/image_0018.jpg
101_ObjectCategories/grand_piano/image_0019.jpg
101_ObjectCategories/grand_piano/image_0020.jpg
101_ObjectCategories/grand_piano/image_0022.jpg
101_ObjectCategories/grand_piano/image_0023.jpg
101_ObjectCategories/grand_piano/image_0024.jpg
101_ObjectCategories/grand_piano/image_0025.jpg
101_ObjectCategories/grand_piano/image_0026.jpg
101_ObjectCategories/grand_piano/image_0028.jpg
101_ObjectCategories/grand_piano/image_0029.jpg
101_ObjectCategories/grand_piano/image_0030.jpg
101_ObjectCategories/grand_piano/image_0031.jpg
101_ObjectCategories/grand_piano/image_0032.jpg
101_ObjectCategories/grand_piano/image_0034.jpg
101_ObjectCategories/grand_piano/image_0035.jpg
101_ObjectCategories/grand_piano/image_0036.jpg
101_ObjectCategories/grand_piano/image_0037.jpg
101_ObjectCategories/grand_piano/image_0038.jpg
101_ObjectCategories/grand_piano/image_0040.jpg
101_ObjectCategories/grand_piano/image_0041.jpg
101_ObjectCategories/grand_piano/image_0042.jpg
101_ObjectCategories/grand_piano/image_0043.jpg
101_ObjectCategories/grand_piano/image_0044.jpg
101_ObjectCategories/grand_piano/image_0046.jpg
101_ObjectCategories/grand_piano/image_0047.jpg
101_ObjectCategories/grand_piano/image_0048.jpg
101_ObjectCategories/grand_piano/image_0049.jpg
101_ObjectCategories/grand_piano/image_0050.jpg
101_ObjectCategories/grand_piano/image_0052.jpg
101_ObjectCategories/grand_piano/image_0053.jpg
101_ObjectCategories/grand_piano/image_0054.jpg
101_ObjectCategories/grand_piano/image_0055.jpg
101_ObjectCategories/grand_piano/image_0056.jpg
101_ObjectCategories/grand_piano/image_0058.jpg
101_ObjectCategories/grand_piano/image_0059.jpg
101_ObjectCategories/grand_piano/image_0060.jpg
101_ObjectCategories/grand_piano/image_0061.jpg
101_ObjectCategories/grand_piano/image_0062.jpg
101_ObjectCategories/grand_piano/image_0064.jpg
101_ObjectCategories/grand_piano/image_0065.jpg
101_ObjectCategories/grand_piano/image_0066.jpg
101_ObjectCategories/grand_piano/image_0067.jpg
101_ObjectCategories/grand_piano/image_0068.jpg
101_ObjectCategories/grand_piano/image_0070.jpg
101_ObjectCategories/grand_piano/image_0071.jpg
101_ObjectCategories/grand_piano/image_0072.jpg
101_ObjectCategories/grand_piano/image_0073.jpg
101_ObjectCategories/grand_piano/image_0074.jpg
101_ObjectCategories/grand_piano/image_0076.jpg
101_ObjectCategories/grand_piano/image_0077.jpg
101_ObjectCategories/grand_piano/image_0078.jpg
101_ObjectCategories/grand_piano/image_0079.jpg
101_ObjectCategories/grand_piano/image_0080.jpg
101_ObjectCategories/grand_piano/image_0082.jpg
101_ObjectCategories/grand_piano/image_0083.jpg
101_ObjectCategories/grand_piano/image_0084.jpg
101_ObjectCategories/grand_piano/image_0085.jpg
101_ObjectCategories/grand_piano/image_0086.jpg
101_ObjectCategories/grand_piano/image_0088.jpg
101_ObjectCategories/grand_piano/image_0089.jpg
101_ObjectCategories/grand_piano/image_0090.jpg
101_ObjectCategories/grand_piano/image_0091.jpg
101_ObjectCategories/grand_piano/image_0092.jpg
101_ObjectCategories/grand_piano/image_0094.jpg
101_ObjectCategories/grand_piano/image_0095.jpg
101_ObjectCategories/grand_piano/image_0096.jpg
101_ObjectCategories/grand_piano/image_0097.jpg
101_ObjectCategories/grand_piano/image_0098.jpg
101_ObjectCategories/grand_piano/image_0001.jpg
101_ObjectCategories/grand_piano/image_0002.jpg
101_ObjectCategories/grand_piano/image_0003.jpg
101_ObjectCategories/grand_piano/image_0009.jpg
101_ObjectCategories/grand_piano/image_0015.jpg
101_ObjectCategories/grand_piano/image_0021.jpg
101_ObjectCategories/grand_piano/image_0027.jpg
101_ObjectCategories/grand_piano/image_0033.jpg
101_ObjectCategories/grand_piano/image_0039.jpg
101_ObjectCategories/grand_piano/image_0045.jpg
101_ObjectCategories/grand_piano/image_0051.jpg
101_ObjectCategories/grand_piano/image_0057.jpg
101_ObjectCategories/grand_piano/image_0063.jpg
101_ObjectCategories/grand_piano/image_0069.jpg
101_ObjectCategories/grand_piano/image_0075.jpg
101_ObjectCategories/grand_piano/image_0081.jpg
101_ObjectCategories/grand_piano/image_0087.jpg
101_ObjectCategories/grand_piano/image_0093.jpg
101_ObjectCategories/grand_piano/image_0099.jpg
101_ObjectCategories/hawksbill/
101_ObjectCategories/hawksbill/image_0004.jpg
101_ObjectCategories/hawksbill/image_0005.jpg
101_ObjectCategories/hawksbill/image_0006.jpg
101_ObjectCategories/hawksbill/image_0007.jpg
101_ObjectCategories/hawksbill/image_0008.jpg
101_ObjectCategories/hawksbill/image_0010.jpg
101_ObjectCategories/hawksbill/image_0011.jpg
101_ObjectCategories/hawksbill/image_0012.jpg
101_ObjectCategories/hawksbill/image_0013.jpg
101_ObjectCategories/hawksbill/image_0014.jpg
101_ObjectCategories/hawksbill/image_0016.jpg
101_ObjectCategories/hawksbill/image_0017.jpg
101_ObjectCategories/hawksbill/image_0018.jpg
101_ObjectCategories/hawksbill/image_0019.jpg
101_ObjectCategories/hawksbill/image_0020.jpg
101_ObjectCategories/hawksbill/image_0022.jpg
101_ObjectCategories/hawksbill/image_0023.jpg
101_ObjectCategories/hawksbill/image_0024.jpg
101_ObjectCategories/hawksbill/image_0025.jpg
101_ObjectCategories/hawksbill/image_0026.jpg
101_ObjectCategories/hawksbill/image_0028.jpg
101_ObjectCategories/hawksbill/image_0029.jpg
101_ObjectCategories/hawksbill/image_0030.jpg
101_ObjectCategories/hawksbill/image_0031.jpg
101_ObjectCategories/hawksbill/image_0032.jpg
101_ObjectCategories/hawksbill/image_0034.jpg
101_ObjectCategories/hawksbill/image_0035.jpg
101_ObjectCategories/hawksbill/image_0036.jpg
101_ObjectCategories/hawksbill/image_0037.jpg
101_ObjectCategories/hawksbill/image_0038.jpg
101_ObjectCategories/hawksbill/image_0040.jpg
101_ObjectCategories/hawksbill/image_0041.jpg
101_ObjectCategories/hawksbill/image_0042.jpg
101_ObjectCategories/hawksbill/image_0043.jpg
101_ObjectCategories/hawksbill/image_0044.jpg
101_ObjectCategories/hawksbill/image_0046.jpg
101_ObjectCategories/hawksbill/image_0047.jpg
101_ObjectCategories/hawksbill/image_0048.jpg
101_ObjectCategories/hawksbill/image_0049.jpg
101_ObjectCategories/hawksbill/image_0050.jpg
101_ObjectCategories/hawksbill/image_0052.jpg
101_ObjectCategories/hawksbill/image_0053.jpg
101_ObjectCategories/hawksbill/image_0054.jpg
101_ObjectCategories/hawksbill/image_0055.jpg
101_ObjectCategories/hawksbill/image_0056.jpg
101_ObjectCategories/hawksbill/image_0058.jpg
101_ObjectCategories/hawksbill/image_0059.jpg
101_ObjectCategories/hawksbill/image_0060.jpg
101_ObjectCategories/hawksbill/image_0061.jpg
101_ObjectCategories/hawksbill/image_0062.jpg
101_ObjectCategories/hawksbill/image_0064.jpg
101_ObjectCategories/hawksbill/image_0065.jpg
101_ObjectCategories/hawksbill/image_0066.jpg
101_ObjectCategories/hawksbill/image_0067.jpg
101_ObjectCategories/hawksbill/image_0068.jpg
101_ObjectCategories/hawksbill/image_0070.jpg
101_ObjectCategories/hawksbill/image_0071.jpg
101_ObjectCategories/hawksbill/image_0072.jpg
101_ObjectCategories/hawksbill/image_0073.jpg
101_ObjectCategories/hawksbill/image_0074.jpg
101_ObjectCategories/hawksbill/image_0076.jpg
101_ObjectCategories/hawksbill/image_0077.jpg
101_ObjectCategories/hawksbill/image_0078.jpg
101_ObjectCategories/hawksbill/image_0079.jpg
101_ObjectCategories/hawksbill/image_0080.jpg
101_ObjectCategories/hawksbill/image_0082.jpg
101_ObjectCategories/hawksbill/image_0083.jpg
101_ObjectCategories/hawksbill/image_0084.jpg
101_ObjectCategories/hawksbill/image_0085.jpg
101_ObjectCategories/hawksbill/image_0086.jpg
101_ObjectCategories/hawksbill/image_0088.jpg
101_ObjectCategories/hawksbill/image_0089.jpg
101_ObjectCategories/hawksbill/image_0090.jpg
101_ObjectCategories/hawksbill/image_0091.jpg
101_ObjectCategories/hawksbill/image_0092.jpg
101_ObjectCategories/hawksbill/image_0094.jpg
101_ObjectCategories/hawksbill/image_0095.jpg
101_ObjectCategories/hawksbill/image_0096.jpg
101_ObjectCategories/hawksbill/image_0097.jpg
101_ObjectCategories/hawksbill/image_0098.jpg
101_ObjectCategories/hawksbill/image_0100.jpg
101_ObjectCategories/hawksbill/image_0001.jpg
101_ObjectCategories/hawksbill/image_0002.jpg
101_ObjectCategories/hawksbill/image_0003.jpg
101_ObjectCategories/hawksbill/image_0009.jpg
101_ObjectCategories/hawksbill/image_0015.jpg
101_ObjectCategories/hawksbill/image_0021.jpg
101_ObjectCategories/hawksbill/image_0027.jpg
101_ObjectCategories/hawksbill/image_0033.jpg
101_ObjectCategories/hawksbill/image_0039.jpg
101_ObjectCategories/hawksbill/image_0045.jpg
101_ObjectCategories/hawksbill/image_0051.jpg
101_ObjectCategories/hawksbill/image_0057.jpg
101_ObjectCategories/hawksbill/image_0063.jpg
101_ObjectCategories/hawksbill/image_0069.jpg
101_ObjectCategories/hawksbill/image_0075.jpg
101_ObjectCategories/hawksbill/image_0081.jpg
101_ObjectCategories/hawksbill/image_0087.jpg
101_ObjectCategories/hawksbill/image_0093.jpg
101_ObjectCategories/hawksbill/image_0099.jpg
101_ObjectCategories/headphone/
101_ObjectCategories/headphone/image_0004.jpg
101_ObjectCategories/headphone/image_0005.jpg
101_ObjectCategories/headphone/image_0006.jpg
101_ObjectCategories/headphone/image_0007.jpg
101_ObjectCategories/headphone/image_0008.jpg
101_ObjectCategories/headphone/image_0010.jpg
101_ObjectCategories/headphone/image_0011.jpg
101_ObjectCategories/headphone/image_0012.jpg
101_ObjectCategories/headphone/image_0013.jpg
101_ObjectCategories/headphone/image_0014.jpg
101_ObjectCategories/headphone/image_0016.jpg
101_ObjectCategories/headphone/image_0017.jpg
101_ObjectCategories/headphone/image_0018.jpg
101_ObjectCategories/headphone/image_0019.jpg
101_ObjectCategories/headphone/image_0020.jpg
101_ObjectCategories/headphone/image_0022.jpg
101_ObjectCategories/headphone/image_0023.jpg
101_ObjectCategories/headphone/image_0024.jpg
101_ObjectCategories/headphone/image_0025.jpg
101_ObjectCategories/headphone/image_0026.jpg
101_ObjectCategories/headphone/image_0028.jpg
101_ObjectCategories/headphone/image_0029.jpg
101_ObjectCategories/headphone/image_0030.jpg
101_ObjectCategories/headphone/image_0031.jpg
101_ObjectCategories/headphone/image_0032.jpg
101_ObjectCategories/headphone/image_0034.jpg
101_ObjectCategories/headphone/image_0035.jpg
101_ObjectCategories/headphone/image_0036.jpg
101_ObjectCategories/headphone/image_0037.jpg
101_ObjectCategories/headphone/image_0038.jpg
101_ObjectCategories/headphone/image_0040.jpg
101_ObjectCategories/headphone/image_0041.jpg
101_ObjectCategories/headphone/image_0042.jpg
101_ObjectCategories/headphone/image_0001.jpg
101_ObjectCategories/headphone/image_0002.jpg
101_ObjectCategories/headphone/image_0003.jpg
101_ObjectCategories/headphone/image_0009.jpg
101_ObjectCategories/headphone/image_0015.jpg
101_ObjectCategories/headphone/image_0021.jpg
101_ObjectCategories/headphone/image_0027.jpg
101_ObjectCategories/headphone/image_0033.jpg
101_ObjectCategories/headphone/image_0039.jpg
101_ObjectCategories/hedgehog/
101_ObjectCategories/hedgehog/image_0004.jpg
101_ObjectCategories/hedgehog/image_0005.jpg
101_ObjectCategories/hedgehog/image_0006.jpg
101_ObjectCategories/hedgehog/image_0007.jpg
101_ObjectCategories/hedgehog/image_0008.jpg
101_ObjectCategories/hedgehog/image_0010.jpg
101_ObjectCategories/hedgehog/image_0011.jpg
101_ObjectCategories/hedgehog/image_0012.jpg
101_ObjectCategories/hedgehog/image_0013.jpg
101_ObjectCategories/hedgehog/image_0014.jpg
101_ObjectCategories/hedgehog/image_0016.jpg
101_ObjectCategories/hedgehog/image_0017.jpg
101_ObjectCategories/hedgehog/image_0018.jpg
101_ObjectCategories/hedgehog/image_0019.jpg
101_ObjectCategories/hedgehog/image_0020.jpg
101_ObjectCategories/hedgehog/image_0022.jpg
101_ObjectCategories/hedgehog/image_0023.jpg
101_ObjectCategories/hedgehog/image_0024.jpg
101_ObjectCategories/hedgehog/image_0025.jpg
101_ObjectCategories/hedgehog/image_0026.jpg
101_ObjectCategories/hedgehog/image_0028.jpg
101_ObjectCategories/hedgehog/image_0029.jpg
101_ObjectCategories/hedgehog/image_0030.jpg
101_ObjectCategories/hedgehog/image_0031.jpg
101_ObjectCategories/hedgehog/image_0032.jpg
101_ObjectCategories/hedgehog/image_0034.jpg
101_ObjectCategories/hedgehog/image_0035.jpg
101_ObjectCategories/hedgehog/image_0036.jpg
101_ObjectCategories/hedgehog/image_0037.jpg
101_ObjectCategories/hedgehog/image_0038.jpg
101_ObjectCategories/hedgehog/image_0040.jpg
101_ObjectCategories/hedgehog/image_0041.jpg
101_ObjectCategories/hedgehog/image_0042.jpg
101_ObjectCategories/hedgehog/image_0043.jpg
101_ObjectCategories/hedgehog/image_0044.jpg
101_ObjectCategories/hedgehog/image_0046.jpg
101_ObjectCategories/hedgehog/image_0047.jpg
101_ObjectCategories/hedgehog/image_0048.jpg
101_ObjectCategories/hedgehog/image_0049.jpg
101_ObjectCategories/hedgehog/image_0050.jpg
101_ObjectCategories/hedgehog/image_0052.jpg
101_ObjectCategories/hedgehog/image_0053.jpg
101_ObjectCategories/hedgehog/image_0054.jpg
101_ObjectCategories/hedgehog/image_0001.jpg
101_ObjectCategories/hedgehog/image_0002.jpg
101_ObjectCategories/hedgehog/image_0003.jpg
101_ObjectCategories/hedgehog/image_0009.jpg
101_ObjectCategories/hedgehog/image_0015.jpg
101_ObjectCategories/hedgehog/image_0021.jpg
101_ObjectCategories/hedgehog/image_0027.jpg
101_ObjectCategories/hedgehog/image_0033.jpg
101_ObjectCategories/hedgehog/image_0039.jpg
101_ObjectCategories/hedgehog/image_0045.jpg
101_ObjectCategories/hedgehog/image_0051.jpg
101_ObjectCategories/helicopter/
101_ObjectCategories/helicopter/image_0004.jpg
101_ObjectCategories/helicopter/image_0005.jpg
101_ObjectCategories/helicopter/image_0006.jpg
101_ObjectCategories/helicopter/image_0007.jpg
101_ObjectCategories/helicopter/image_0008.jpg
101_ObjectCategories/helicopter/image_0010.jpg
101_ObjectCategories/helicopter/image_0011.jpg
101_ObjectCategories/helicopter/image_0012.jpg
101_ObjectCategories/helicopter/image_0013.jpg
101_ObjectCategories/helicopter/image_0014.jpg
101_ObjectCategories/helicopter/image_0016.jpg
101_ObjectCategories/helicopter/image_0017.jpg
101_ObjectCategories/helicopter/image_0018.jpg
101_ObjectCategories/helicopter/image_0019.jpg
101_ObjectCategories/helicopter/image_0020.jpg
101_ObjectCategories/helicopter/image_0022.jpg
101_ObjectCategories/helicopter/image_0023.jpg
101_ObjectCategories/helicopter/image_0024.jpg
101_ObjectCategories/helicopter/image_0025.jpg
101_ObjectCategories/helicopter/image_0026.jpg
101_ObjectCategories/helicopter/image_0028.jpg
101_ObjectCategories/helicopter/image_0029.jpg
101_ObjectCategories/helicopter/image_0030.jpg
101_ObjectCategories/helicopter/image_0031.jpg
101_ObjectCategories/helicopter/image_0032.jpg
101_ObjectCategories/helicopter/image_0034.jpg
101_ObjectCategories/helicopter/image_0035.jpg
101_ObjectCategories/helicopter/image_0036.jpg
101_ObjectCategories/helicopter/image_0037.jpg
101_ObjectCategories/helicopter/image_0038.jpg
101_ObjectCategories/helicopter/image_0040.jpg
101_ObjectCategories/helicopter/image_0041.jpg
101_ObjectCategories/helicopter/image_0042.jpg
101_ObjectCategories/helicopter/image_0043.jpg
101_ObjectCategories/helicopter/image_0044.jpg
101_ObjectCategories/helicopter/image_0046.jpg
101_ObjectCategories/helicopter/image_0047.jpg
101_ObjectCategories/helicopter/image_0048.jpg
101_ObjectCategories/helicopter/image_0049.jpg
101_ObjectCategories/helicopter/image_0050.jpg
101_ObjectCategories/helicopter/image_0052.jpg
101_ObjectCategories/helicopter/image_0053.jpg
101_ObjectCategories/helicopter/image_0054.jpg
101_ObjectCategories/helicopter/image_0055.jpg
101_ObjectCategories/helicopter/image_0056.jpg
101_ObjectCategories/helicopter/image_0058.jpg
101_ObjectCategories/helicopter/image_0059.jpg
101_ObjectCategories/helicopter/image_0060.jpg
101_ObjectCategories/helicopter/image_0061.jpg
101_ObjectCategories/helicopter/image_0062.jpg
101_ObjectCategories/helicopter/image_0064.jpg
101_ObjectCategories/helicopter/image_0065.jpg
101_ObjectCategories/helicopter/image_0066.jpg
101_ObjectCategories/helicopter/image_0067.jpg
101_ObjectCategories/helicopter/image_0068.jpg
101_ObjectCategories/helicopter/image_0070.jpg
101_ObjectCategories/helicopter/image_0071.jpg
101_ObjectCategories/helicopter/image_0072.jpg
101_ObjectCategories/helicopter/image_0073.jpg
101_ObjectCategories/helicopter/image_0074.jpg
101_ObjectCategories/helicopter/image_0076.jpg
101_ObjectCategories/helicopter/image_0077.jpg
101_ObjectCategories/helicopter/image_0078.jpg
101_ObjectCategories/helicopter/image_0079.jpg
101_ObjectCategories/helicopter/image_0080.jpg
101_ObjectCategories/helicopter/image_0082.jpg
101_ObjectCategories/helicopter/image_0083.jpg
101_ObjectCategories/helicopter/image_0084.jpg
101_ObjectCategories/helicopter/image_0085.jpg
101_ObjectCategories/helicopter/image_0086.jpg
101_ObjectCategories/helicopter/image_0088.jpg
101_ObjectCategories/helicopter/image_0001.jpg
101_ObjectCategories/helicopter/image_0002.jpg
101_ObjectCategories/helicopter/image_0003.jpg
101_ObjectCategories/helicopter/image_0009.jpg
101_ObjectCategories/helicopter/image_0015.jpg
101_ObjectCategories/helicopter/image_0021.jpg
101_ObjectCategories/helicopter/image_0027.jpg
101_ObjectCategories/helicopter/image_0033.jpg
101_ObjectCategories/helicopter/image_0039.jpg
101_ObjectCategories/helicopter/image_0045.jpg
101_ObjectCategories/helicopter/image_0051.jpg
101_ObjectCategories/helicopter/image_0057.jpg
101_ObjectCategories/helicopter/image_0063.jpg
101_ObjectCategories/helicopter/image_0069.jpg
101_ObjectCategories/helicopter/image_0075.jpg
101_ObjectCategories/helicopter/image_0081.jpg
101_ObjectCategories/helicopter/image_0087.jpg
101_ObjectCategories/ibis/
101_ObjectCategories/ibis/image_0004.jpg
101_ObjectCategories/ibis/image_0005.jpg
101_ObjectCategories/ibis/image_0006.jpg
101_ObjectCategories/ibis/image_0007.jpg
101_ObjectCategories/ibis/image_0008.jpg
101_ObjectCategories/ibis/image_0010.jpg
101_ObjectCategories/ibis/image_0011.jpg
101_ObjectCategories/ibis/image_0012.jpg
101_ObjectCategories/ibis/image_0013.jpg
101_ObjectCategories/ibis/image_0014.jpg
101_ObjectCategories/ibis/image_0016.jpg
101_ObjectCategories/ibis/image_0017.jpg
101_ObjectCategories/ibis/image_0018.jpg
101_ObjectCategories/ibis/image_0019.jpg
101_ObjectCategories/ibis/image_0020.jpg
101_ObjectCategories/ibis/image_0022.jpg
101_ObjectCategories/ibis/image_0023.jpg
101_ObjectCategories/ibis/image_0024.jpg
101_ObjectCategories/ibis/image_0025.jpg
101_ObjectCategories/ibis/image_0026.jpg
101_ObjectCategories/ibis/image_0028.jpg
101_ObjectCategories/ibis/image_0029.jpg
101_ObjectCategories/ibis/image_0030.jpg
101_ObjectCategories/ibis/image_0031.jpg
101_ObjectCategories/ibis/image_0032.jpg
101_ObjectCategories/ibis/image_0034.jpg
101_ObjectCategories/ibis/image_0035.jpg
101_ObjectCategories/ibis/image_0036.jpg
101_ObjectCategories/ibis/image_0037.jpg
101_ObjectCategories/ibis/image_0038.jpg
101_ObjectCategories/ibis/image_0040.jpg
101_ObjectCategories/ibis/image_0041.jpg
101_ObjectCategories/ibis/image_0042.jpg
101_ObjectCategories/ibis/image_0043.jpg
101_ObjectCategories/ibis/image_0044.jpg
101_ObjectCategories/ibis/image_0046.jpg
101_ObjectCategories/ibis/image_0047.jpg
101_ObjectCategories/ibis/image_0048.jpg
101_ObjectCategories/ibis/image_0049.jpg
101_ObjectCategories/ibis/image_0050.jpg
101_ObjectCategories/ibis/image_0052.jpg
101_ObjectCategories/ibis/image_0053.jpg
101_ObjectCategories/ibis/image_0054.jpg
101_ObjectCategories/ibis/image_0055.jpg
101_ObjectCategories/ibis/image_0056.jpg
101_ObjectCategories/ibis/image_0058.jpg
101_ObjectCategories/ibis/image_0059.jpg
101_ObjectCategories/ibis/image_0060.jpg
101_ObjectCategories/ibis/image_0061.jpg
101_ObjectCategories/ibis/image_0062.jpg
101_ObjectCategories/ibis/image_0064.jpg
101_ObjectCategories/ibis/image_0065.jpg
101_ObjectCategories/ibis/image_0066.jpg
101_ObjectCategories/ibis/image_0067.jpg
101_ObjectCategories/ibis/image_0068.jpg
101_ObjectCategories/ibis/image_0070.jpg
101_ObjectCategories/ibis/image_0071.jpg
101_ObjectCategories/ibis/image_0072.jpg
101_ObjectCategories/ibis/image_0073.jpg
101_ObjectCategories/ibis/image_0074.jpg
101_ObjectCategories/ibis/image_0076.jpg
101_ObjectCategories/ibis/image_0077.jpg
101_ObjectCategories/ibis/image_0078.jpg
101_ObjectCategories/ibis/image_0079.jpg
101_ObjectCategories/ibis/image_0080.jpg
101_ObjectCategories/ibis/image_0001.jpg
101_ObjectCategories/ibis/image_0002.jpg
101_ObjectCategories/ibis/image_0003.jpg
101_ObjectCategories/ibis/image_0009.jpg
101_ObjectCategories/ibis/image_0015.jpg
101_ObjectCategories/ibis/image_0021.jpg
101_ObjectCategories/ibis/image_0027.jpg
101_ObjectCategories/ibis/image_0033.jpg
101_ObjectCategories/ibis/image_0039.jpg
101_ObjectCategories/ibis/image_0045.jpg
101_ObjectCategories/ibis/image_0051.jpg
101_ObjectCategories/ibis/image_0057.jpg
101_ObjectCategories/ibis/image_0063.jpg
101_ObjectCategories/ibis/image_0069.jpg
101_ObjectCategories/ibis/image_0075.jpg
101_ObjectCategories/inline_skate/
101_ObjectCategories/inline_skate/image_0004.jpg
101_ObjectCategories/inline_skate/image_0005.jpg
101_ObjectCategories/inline_skate/image_0006.jpg
101_ObjectCategories/inline_skate/image_0007.jpg
101_ObjectCategories/inline_skate/image_0008.jpg
101_ObjectCategories/inline_skate/image_0010.jpg
101_ObjectCategories/inline_skate/image_0011.jpg
101_ObjectCategories/inline_skate/image_0012.jpg
101_ObjectCategories/inline_skate/image_0013.jpg
101_ObjectCategories/inline_skate/image_0014.jpg
101_ObjectCategories/inline_skate/image_0016.jpg
101_ObjectCategories/inline_skate/image_0017.jpg
101_ObjectCategories/inline_skate/image_0018.jpg
101_ObjectCategories/inline_skate/image_0019.jpg
101_ObjectCategories/inline_skate/image_0020.jpg
101_ObjectCategories/inline_skate/image_0022.jpg
101_ObjectCategories/inline_skate/image_0023.jpg
101_ObjectCategories/inline_skate/image_0024.jpg
101_ObjectCategories/inline_skate/image_0025.jpg
101_ObjectCategories/inline_skate/image_0026.jpg
101_ObjectCategories/inline_skate/image_0028.jpg
101_ObjectCategories/inline_skate/image_0029.jpg
101_ObjectCategories/inline_skate/image_0030.jpg
101_ObjectCategories/inline_skate/image_0031.jpg
101_ObjectCategories/inline_skate/image_0001.jpg
101_ObjectCategories/inline_skate/image_0002.jpg
101_ObjectCategories/inline_skate/image_0003.jpg
101_ObjectCategories/inline_skate/image_0009.jpg
101_ObjectCategories/inline_skate/image_0015.jpg
101_ObjectCategories/inline_skate/image_0021.jpg
101_ObjectCategories/inline_skate/image_0027.jpg
101_ObjectCategories/joshua_tree/
101_ObjectCategories/joshua_tree/image_0004.jpg
101_ObjectCategories/joshua_tree/image_0005.jpg
101_ObjectCategories/joshua_tree/image_0006.jpg
101_ObjectCategories/joshua_tree/image_0007.jpg
101_ObjectCategories/joshua_tree/image_0008.jpg
101_ObjectCategories/joshua_tree/image_0010.jpg
101_ObjectCategories/joshua_tree/image_0011.jpg
101_ObjectCategories/joshua_tree/image_0012.jpg
101_ObjectCategories/joshua_tree/image_0013.jpg
101_ObjectCategories/joshua_tree/image_0014.jpg
101_ObjectCategories/joshua_tree/image_0016.jpg
101_ObjectCategories/joshua_tree/image_0017.jpg
101_ObjectCategories/joshua_tree/image_0018.jpg
101_ObjectCategories/joshua_tree/image_0019.jpg
101_ObjectCategories/joshua_tree/image_0020.jpg
101_ObjectCategories/joshua_tree/image_0022.jpg
101_ObjectCategories/joshua_tree/image_0023.jpg
101_ObjectCategories/joshua_tree/image_0024.jpg
101_ObjectCategories/joshua_tree/image_0025.jpg
101_ObjectCategories/joshua_tree/image_0026.jpg
101_ObjectCategories/joshua_tree/image_0028.jpg
101_ObjectCategories/joshua_tree/image_0029.jpg
101_ObjectCategories/joshua_tree/image_0030.jpg
101_ObjectCategories/joshua_tree/image_0031.jpg
101_ObjectCategories/joshua_tree/image_0032.jpg
101_ObjectCategories/joshua_tree/image_0034.jpg
101_ObjectCategories/joshua_tree/image_0035.jpg
101_ObjectCategories/joshua_tree/image_0036.jpg
101_ObjectCategories/joshua_tree/image_0037.jpg
101_ObjectCategories/joshua_tree/image_0038.jpg
101_ObjectCategories/joshua_tree/image_0040.jpg
101_ObjectCategories/joshua_tree/image_0041.jpg
101_ObjectCategories/joshua_tree/image_0042.jpg
101_ObjectCategories/joshua_tree/image_0043.jpg
101_ObjectCategories/joshua_tree/image_0044.jpg
101_ObjectCategories/joshua_tree/image_0046.jpg
101_ObjectCategories/joshua_tree/image_0047.jpg
101_ObjectCategories/joshua_tree/image_0048.jpg
101_ObjectCategories/joshua_tree/image_0049.jpg
101_ObjectCategories/joshua_tree/image_0050.jpg
101_ObjectCategories/joshua_tree/image_0052.jpg
101_ObjectCategories/joshua_tree/image_0053.jpg
101_ObjectCategories/joshua_tree/image_0054.jpg
101_ObjectCategories/joshua_tree/image_0055.jpg
101_ObjectCategories/joshua_tree/image_0056.jpg
101_ObjectCategories/joshua_tree/image_0058.jpg
101_ObjectCategories/joshua_tree/image_0059.jpg
101_ObjectCategories/joshua_tree/image_0060.jpg
101_ObjectCategories/joshua_tree/image_0061.jpg
101_ObjectCategories/joshua_tree/image_0062.jpg
101_ObjectCategories/joshua_tree/image_0064.jpg
101_ObjectCategories/joshua_tree/image_0001.jpg
101_ObjectCategories/joshua_tree/image_0002.jpg
101_ObjectCategories/joshua_tree/image_0003.jpg
101_ObjectCategories/joshua_tree/image_0009.jpg
101_ObjectCategories/joshua_tree/image_0015.jpg
101_ObjectCategories/joshua_tree/image_0021.jpg
101_ObjectCategories/joshua_tree/image_0027.jpg
101_ObjectCategories/joshua_tree/image_0033.jpg
101_ObjectCategories/joshua_tree/image_0039.jpg
101_ObjectCategories/joshua_tree/image_0045.jpg
101_ObjectCategories/joshua_tree/image_0051.jpg
101_ObjectCategories/joshua_tree/image_0057.jpg
101_ObjectCategories/joshua_tree/image_0063.jpg
101_ObjectCategories/kangaroo/
101_ObjectCategories/kangaroo/image_0004.jpg
101_ObjectCategories/kangaroo/image_0005.jpg
101_ObjectCategories/kangaroo/image_0006.jpg
101_ObjectCategories/kangaroo/image_0007.jpg
101_ObjectCategories/kangaroo/image_0008.jpg
101_ObjectCategories/kangaroo/image_0010.jpg
101_ObjectCategories/kangaroo/image_0011.jpg
101_ObjectCategories/kangaroo/image_0012.jpg
101_ObjectCategories/kangaroo/image_0013.jpg
101_ObjectCategories/kangaroo/image_0014.jpg
101_ObjectCategories/kangaroo/image_0016.jpg
101_ObjectCategories/kangaroo/image_0017.jpg
101_ObjectCategories/kangaroo/image_0018.jpg
101_ObjectCategories/kangaroo/image_0019.jpg
101_ObjectCategories/kangaroo/image_0020.jpg
101_ObjectCategories/kangaroo/image_0022.jpg
101_ObjectCategories/kangaroo/image_0023.jpg
101_ObjectCategories/kangaroo/image_0024.jpg
101_ObjectCategories/kangaroo/image_0025.jpg
101_ObjectCategories/kangaroo/image_0026.jpg
101_ObjectCategories/kangaroo/image_0028.jpg
101_ObjectCategories/kangaroo/image_0029.jpg
101_ObjectCategories/kangaroo/image_0030.jpg
101_ObjectCategories/kangaroo/image_0031.jpg
101_ObjectCategories/kangaroo/image_0032.jpg
101_ObjectCategories/kangaroo/image_0034.jpg
101_ObjectCategories/kangaroo/image_0035.jpg
101_ObjectCategories/kangaroo/image_0036.jpg
101_ObjectCategories/kangaroo/image_0037.jpg
101_ObjectCategories/kangaroo/image_0038.jpg
101_ObjectCategories/kangaroo/image_0040.jpg
101_ObjectCategories/kangaroo/image_0041.jpg
101_ObjectCategories/kangaroo/image_0042.jpg
101_ObjectCategories/kangaroo/image_0043.jpg
101_ObjectCategories/kangaroo/image_0044.jpg
101_ObjectCategories/kangaroo/image_0046.jpg
101_ObjectCategories/kangaroo/image_0047.jpg
101_ObjectCategories/kangaroo/image_0048.jpg
101_ObjectCategories/kangaroo/image_0049.jpg
101_ObjectCategories/kangaroo/image_0050.jpg
101_ObjectCategories/kangaroo/image_0052.jpg
101_ObjectCategories/kangaroo/image_0053.jpg
101_ObjectCategories/kangaroo/image_0054.jpg
101_ObjectCategories/kangaroo/image_0055.jpg
101_ObjectCategories/kangaroo/image_0056.jpg
101_ObjectCategories/kangaroo/image_0058.jpg
101_ObjectCategories/kangaroo/image_0059.jpg
101_ObjectCategories/kangaroo/image_0060.jpg
101_ObjectCategories/kangaroo/image_0061.jpg
101_ObjectCategories/kangaroo/image_0062.jpg
101_ObjectCategories/kangaroo/image_0064.jpg
101_ObjectCategories/kangaroo/image_0065.jpg
101_ObjectCategories/kangaroo/image_0066.jpg
101_ObjectCategories/kangaroo/image_0067.jpg
101_ObjectCategories/kangaroo/image_0068.jpg
101_ObjectCategories/kangaroo/image_0070.jpg
101_ObjectCategories/kangaroo/image_0071.jpg
101_ObjectCategories/kangaroo/image_0072.jpg
101_ObjectCategories/kangaroo/image_0073.jpg
101_ObjectCategories/kangaroo/image_0074.jpg
101_ObjectCategories/kangaroo/image_0076.jpg
101_ObjectCategories/kangaroo/image_0077.jpg
101_ObjectCategories/kangaroo/image_0078.jpg
101_ObjectCategories/kangaroo/image_0079.jpg
101_ObjectCategories/kangaroo/image_0080.jpg
101_ObjectCategories/kangaroo/image_0082.jpg
101_ObjectCategories/kangaroo/image_0083.jpg
101_ObjectCategories/kangaroo/image_0084.jpg
101_ObjectCategories/kangaroo/image_0085.jpg
101_ObjectCategories/kangaroo/image_0086.jpg
101_ObjectCategories/kangaroo/image_0001.jpg
101_ObjectCategories/kangaroo/image_0002.jpg
101_ObjectCategories/kangaroo/image_0003.jpg
101_ObjectCategories/kangaroo/image_0009.jpg
101_ObjectCategories/kangaroo/image_0015.jpg
101_ObjectCategories/kangaroo/image_0021.jpg
101_ObjectCategories/kangaroo/image_0027.jpg
101_ObjectCategories/kangaroo/image_0033.jpg
101_ObjectCategories/kangaroo/image_0039.jpg
101_ObjectCategories/kangaroo/image_0045.jpg
101_ObjectCategories/kangaroo/image_0051.jpg
101_ObjectCategories/kangaroo/image_0057.jpg
101_ObjectCategories/kangaroo/image_0063.jpg
101_ObjectCategories/kangaroo/image_0069.jpg
101_ObjectCategories/kangaroo/image_0075.jpg
101_ObjectCategories/kangaroo/image_0081.jpg
101_ObjectCategories/ketch/
101_ObjectCategories/ketch/image_0004.jpg
101_ObjectCategories/ketch/image_0005.jpg
101_ObjectCategories/ketch/image_0006.jpg
101_ObjectCategories/ketch/image_0007.jpg
101_ObjectCategories/ketch/image_0008.jpg
101_ObjectCategories/ketch/image_0010.jpg
101_ObjectCategories/ketch/image_0011.jpg
101_ObjectCategories/ketch/image_0012.jpg
101_ObjectCategories/ketch/image_0013.jpg
101_ObjectCategories/ketch/image_0014.jpg
101_ObjectCategories/ketch/image_0016.jpg
101_ObjectCategories/ketch/image_0017.jpg
101_ObjectCategories/ketch/image_0018.jpg
101_ObjectCategories/ketch/image_0019.jpg
101_ObjectCategories/ketch/image_0020.jpg
101_ObjectCategories/ketch/image_0022.jpg
101_ObjectCategories/ketch/image_0023.jpg
101_ObjectCategories/ketch/image_0024.jpg
101_ObjectCategories/ketch/image_0025.jpg
101_ObjectCategories/ketch/image_0026.jpg
101_ObjectCategories/ketch/image_0028.jpg
101_ObjectCategories/ketch/image_0029.jpg
101_ObjectCategories/ketch/image_0030.jpg
101_ObjectCategories/ketch/image_0031.jpg
101_ObjectCategories/ketch/image_0032.jpg
101_ObjectCategories/ketch/image_0034.jpg
101_ObjectCategories/ketch/image_0035.jpg
101_ObjectCategories/ketch/image_0036.jpg
101_ObjectCategories/ketch/image_0037.jpg
101_ObjectCategories/ketch/image_0038.jpg
101_ObjectCategories/ketch/image_0040.jpg
101_ObjectCategories/ketch/image_0041.jpg
101_ObjectCategories/ketch/image_0042.jpg
101_ObjectCategories/ketch/image_0043.jpg
101_ObjectCategories/ketch/image_0044.jpg
101_ObjectCategories/ketch/image_0046.jpg
101_ObjectCategories/ketch/image_0047.jpg
101_ObjectCategories/ketch/image_0048.jpg
101_ObjectCategories/ketch/image_0049.jpg
101_ObjectCategories/ketch/image_0050.jpg
101_ObjectCategories/ketch/image_0052.jpg
101_ObjectCategories/ketch/image_0053.jpg
101_ObjectCategories/ketch/image_0054.jpg
101_ObjectCategories/ketch/image_0055.jpg
101_ObjectCategories/ketch/image_0056.jpg
101_ObjectCategories/ketch/image_0058.jpg
101_ObjectCategories/ketch/image_0059.jpg
101_ObjectCategories/ketch/image_0060.jpg
101_ObjectCategories/ketch/image_0061.jpg
101_ObjectCategories/ketch/image_0062.jpg
101_ObjectCategories/ketch/image_0064.jpg
101_ObjectCategories/ketch/image_0065.jpg
101_ObjectCategories/ketch/image_0066.jpg
101_ObjectCategories/ketch/image_0067.jpg
101_ObjectCategories/ketch/image_0068.jpg
101_ObjectCategories/ketch/image_0070.jpg
101_ObjectCategories/ketch/image_0071.jpg
101_ObjectCategories/ketch/image_0072.jpg
101_ObjectCategories/ketch/image_0073.jpg
101_ObjectCategories/ketch/image_0074.jpg
101_ObjectCategories/ketch/image_0076.jpg
101_ObjectCategories/ketch/image_0077.jpg
101_ObjectCategories/ketch/image_0078.jpg
101_ObjectCategories/ketch/image_0079.jpg
101_ObjectCategories/ketch/image_0080.jpg
101_ObjectCategories/ketch/image_0082.jpg
101_ObjectCategories/ketch/image_0083.jpg
101_ObjectCategories/ketch/image_0084.jpg
101_ObjectCategories/ketch/image_0085.jpg
101_ObjectCategories/ketch/image_0086.jpg
101_ObjectCategories/ketch/image_0088.jpg
101_ObjectCategories/ketch/image_0089.jpg
101_ObjectCategories/ketch/image_0090.jpg
101_ObjectCategories/ketch/image_0091.jpg
101_ObjectCategories/ketch/image_0092.jpg
101_ObjectCategories/ketch/image_0094.jpg
101_ObjectCategories/ketch/image_0095.jpg
101_ObjectCategories/ketch/image_0096.jpg
101_ObjectCategories/ketch/image_0097.jpg
101_ObjectCategories/ketch/image_0098.jpg
101_ObjectCategories/ketch/image_0100.jpg
101_ObjectCategories/ketch/image_0101.jpg
101_ObjectCategories/ketch/image_0102.jpg
101_ObjectCategories/ketch/image_0103.jpg
101_ObjectCategories/ketch/image_0104.jpg
101_ObjectCategories/ketch/image_0106.jpg
101_ObjectCategories/ketch/image_0107.jpg
101_ObjectCategories/ketch/image_0108.jpg
101_ObjectCategories/ketch/image_0109.jpg
101_ObjectCategories/ketch/image_0110.jpg
101_ObjectCategories/ketch/image_0112.jpg
101_ObjectCategories/ketch/image_0113.jpg
101_ObjectCategories/ketch/image_0114.jpg
101_ObjectCategories/ketch/image_0001.jpg
101_ObjectCategories/ketch/image_0002.jpg
101_ObjectCategories/ketch/image_0003.jpg
101_ObjectCategories/ketch/image_0009.jpg
101_ObjectCategories/ketch/image_0015.jpg
101_ObjectCategories/ketch/image_0021.jpg
101_ObjectCategories/ketch/image_0027.jpg
101_ObjectCategories/ketch/image_0033.jpg
101_ObjectCategories/ketch/image_0039.jpg
101_ObjectCategories/ketch/image_0045.jpg
101_ObjectCategories/ketch/image_0051.jpg
101_ObjectCategories/ketch/image_0057.jpg
101_ObjectCategories/ketch/image_0063.jpg
101_ObjectCategories/ketch/image_0069.jpg
101_ObjectCategories/ketch/image_0075.jpg
101_ObjectCategories/ketch/image_0081.jpg
101_ObjectCategories/ketch/image_0087.jpg
101_ObjectCategories/ketch/image_0093.jpg
101_ObjectCategories/ketch/image_0099.jpg
101_ObjectCategories/ketch/image_0105.jpg
101_ObjectCategories/ketch/image_0111.jpg
101_ObjectCategories/lamp/
101_ObjectCategories/lamp/image_0004.jpg
101_ObjectCategories/lamp/image_0005.jpg
101_ObjectCategories/lamp/image_0006.jpg
101_ObjectCategories/lamp/image_0007.jpg
101_ObjectCategories/lamp/image_0008.jpg
101_ObjectCategories/lamp/image_0010.jpg
101_ObjectCategories/lamp/image_0011.jpg
101_ObjectCategories/lamp/image_0012.jpg
101_ObjectCategories/lamp/image_0013.jpg
101_ObjectCategories/lamp/image_0014.jpg
101_ObjectCategories/lamp/image_0016.jpg
101_ObjectCategories/lamp/image_0017.jpg
101_ObjectCategories/lamp/image_0018.jpg
101_ObjectCategories/lamp/image_0019.jpg
101_ObjectCategories/lamp/image_0020.jpg
101_ObjectCategories/lamp/image_0022.jpg
101_ObjectCategories/lamp/image_0023.jpg
101_ObjectCategories/lamp/image_0024.jpg
101_ObjectCategories/lamp/image_0025.jpg
101_ObjectCategories/lamp/image_0026.jpg
101_ObjectCategories/lamp/image_0028.jpg
101_ObjectCategories/lamp/image_0029.jpg
101_ObjectCategories/lamp/image_0030.jpg
101_ObjectCategories/lamp/image_0031.jpg
101_ObjectCategories/lamp/image_0032.jpg
101_ObjectCategories/lamp/image_0034.jpg
101_ObjectCategories/lamp/image_0035.jpg
101_ObjectCategories/lamp/image_0036.jpg
101_ObjectCategories/lamp/image_0037.jpg
101_ObjectCategories/lamp/image_0038.jpg
101_ObjectCategories/lamp/image_0040.jpg
101_ObjectCategories/lamp/image_0041.jpg
101_ObjectCategories/lamp/image_0042.jpg
101_ObjectCategories/lamp/image_0043.jpg
101_ObjectCategories/lamp/image_0044.jpg
101_ObjectCategories/lamp/image_0046.jpg
101_ObjectCategories/lamp/image_0047.jpg
101_ObjectCategories/lamp/image_0048.jpg
101_ObjectCategories/lamp/image_0049.jpg
101_ObjectCategories/lamp/image_0050.jpg
101_ObjectCategories/lamp/image_0052.jpg
101_ObjectCategories/lamp/image_0053.jpg
101_ObjectCategories/lamp/image_0054.jpg
101_ObjectCategories/lamp/image_0055.jpg
101_ObjectCategories/lamp/image_0056.jpg
101_ObjectCategories/lamp/image_0058.jpg
101_ObjectCategories/lamp/image_0059.jpg
101_ObjectCategories/lamp/image_0060.jpg
101_ObjectCategories/lamp/image_0061.jpg
101_ObjectCategories/lamp/image_0001.jpg
101_ObjectCategories/lamp/image_0002.jpg
101_ObjectCategories/lamp/image_0003.jpg
101_ObjectCategories/lamp/image_0009.jpg
101_ObjectCategories/lamp/image_0015.jpg
101_ObjectCategories/lamp/image_0021.jpg
101_ObjectCategories/lamp/image_0027.jpg
101_ObjectCategories/lamp/image_0033.jpg
101_ObjectCategories/lamp/image_0039.jpg
101_ObjectCategories/lamp/image_0045.jpg
101_ObjectCategories/lamp/image_0051.jpg
101_ObjectCategories/lamp/image_0057.jpg
101_ObjectCategories/laptop/
101_ObjectCategories/laptop/image_0004.jpg
101_ObjectCategories/laptop/image_0005.jpg
101_ObjectCategories/laptop/image_0006.jpg
101_ObjectCategories/laptop/image_0007.jpg
101_ObjectCategories/laptop/image_0008.jpg
101_ObjectCategories/laptop/image_0010.jpg
101_ObjectCategories/laptop/image_0011.jpg
101_ObjectCategories/laptop/image_0012.jpg
101_ObjectCategories/laptop/image_0013.jpg
101_ObjectCategories/laptop/image_0014.jpg
101_ObjectCategories/laptop/image_0016.jpg
101_ObjectCategories/laptop/image_0017.jpg
101_ObjectCategories/laptop/image_0018.jpg
101_ObjectCategories/laptop/image_0019.jpg
101_ObjectCategories/laptop/image_0020.jpg
101_ObjectCategories/laptop/image_0022.jpg
101_ObjectCategories/laptop/image_0023.jpg
101_ObjectCategories/laptop/image_0024.jpg
101_ObjectCategories/laptop/image_0025.jpg
101_ObjectCategories/laptop/image_0026.jpg
101_ObjectCategories/laptop/image_0028.jpg
101_ObjectCategories/laptop/image_0029.jpg
101_ObjectCategories/laptop/image_0030.jpg
101_ObjectCategories/laptop/image_0031.jpg
101_ObjectCategories/laptop/image_0032.jpg
101_ObjectCategories/laptop/image_0034.jpg
101_ObjectCategories/laptop/image_0035.jpg
101_ObjectCategories/laptop/image_0036.jpg
101_ObjectCategories/laptop/image_0037.jpg
101_ObjectCategories/laptop/image_0038.jpg
101_ObjectCategories/laptop/image_0040.jpg
101_ObjectCategories/laptop/image_0041.jpg
101_ObjectCategories/laptop/image_0042.jpg
101_ObjectCategories/laptop/image_0043.jpg
101_ObjectCategories/laptop/image_0044.jpg
101_ObjectCategories/laptop/image_0046.jpg
101_ObjectCategories/laptop/image_0047.jpg
101_ObjectCategories/laptop/image_0048.jpg
101_ObjectCategories/laptop/image_0049.jpg
101_ObjectCategories/laptop/image_0050.jpg
101_ObjectCategories/laptop/image_0052.jpg
101_ObjectCategories/laptop/image_0053.jpg
101_ObjectCategories/laptop/image_0054.jpg
101_ObjectCategories/laptop/image_0055.jpg
101_ObjectCategories/laptop/image_0056.jpg
101_ObjectCategories/laptop/image_0058.jpg
101_ObjectCategories/laptop/image_0059.jpg
101_ObjectCategories/laptop/image_0060.jpg
101_ObjectCategories/laptop/image_0061.jpg
101_ObjectCategories/laptop/image_0062.jpg
101_ObjectCategories/laptop/image_0064.jpg
101_ObjectCategories/laptop/image_0065.jpg
101_ObjectCategories/laptop/image_0066.jpg
101_ObjectCategories/laptop/image_0067.jpg
101_ObjectCategories/laptop/image_0068.jpg
101_ObjectCategories/laptop/image_0070.jpg
101_ObjectCategories/laptop/image_0071.jpg
101_ObjectCategories/laptop/image_0072.jpg
101_ObjectCategories/laptop/image_0073.jpg
101_ObjectCategories/laptop/image_0074.jpg
101_ObjectCategories/laptop/image_0076.jpg
101_ObjectCategories/laptop/image_0077.jpg
101_ObjectCategories/laptop/image_0078.jpg
101_ObjectCategories/laptop/image_0079.jpg
101_ObjectCategories/laptop/image_0080.jpg
101_ObjectCategories/laptop/image_0001.jpg
101_ObjectCategories/laptop/image_0002.jpg
101_ObjectCategories/laptop/image_0003.jpg
101_ObjectCategories/laptop/image_0009.jpg
101_ObjectCategories/laptop/image_0015.jpg
101_ObjectCategories/laptop/image_0021.jpg
101_ObjectCategories/laptop/image_0027.jpg
101_ObjectCategories/laptop/image_0033.jpg
101_ObjectCategories/laptop/image_0039.jpg
101_ObjectCategories/laptop/image_0045.jpg
101_ObjectCategories/laptop/image_0051.jpg
101_ObjectCategories/laptop/image_0057.jpg
101_ObjectCategories/laptop/image_0063.jpg
101_ObjectCategories/laptop/image_0069.jpg
101_ObjectCategories/laptop/image_0075.jpg
101_ObjectCategories/laptop/image_0081.jpg
101_ObjectCategories/llama/
101_ObjectCategories/llama/image_0004.jpg
101_ObjectCategories/llama/image_0005.jpg
101_ObjectCategories/llama/image_0006.jpg
101_ObjectCategories/llama/image_0007.jpg
101_ObjectCategories/llama/image_0008.jpg
101_ObjectCategories/llama/image_0010.jpg
101_ObjectCategories/llama/image_0011.jpg
101_ObjectCategories/llama/image_0012.jpg
101_ObjectCategories/llama/image_0013.jpg
101_ObjectCategories/llama/image_0014.jpg
101_ObjectCategories/llama/image_0016.jpg
101_ObjectCategories/llama/image_0017.jpg
101_ObjectCategories/llama/image_0018.jpg
101_ObjectCategories/llama/image_0019.jpg
101_ObjectCategories/llama/image_0020.jpg
101_ObjectCategories/llama/image_0022.jpg
101_ObjectCategories/llama/image_0023.jpg
101_ObjectCategories/llama/image_0024.jpg
101_ObjectCategories/llama/image_0025.jpg
101_ObjectCategories/llama/image_0026.jpg
101_ObjectCategories/llama/image_0028.jpg
101_ObjectCategories/llama/image_0029.jpg
101_ObjectCategories/llama/image_0030.jpg
101_ObjectCategories/llama/image_0031.jpg
101_ObjectCategories/llama/image_0032.jpg
101_ObjectCategories/llama/image_0034.jpg
101_ObjectCategories/llama/image_0035.jpg
101_ObjectCategories/llama/image_0036.jpg
101_ObjectCategories/llama/image_0037.jpg
101_ObjectCategories/llama/image_0038.jpg
101_ObjectCategories/llama/image_0040.jpg
101_ObjectCategories/llama/image_0041.jpg
101_ObjectCategories/llama/image_0042.jpg
101_ObjectCategories/llama/image_0043.jpg
101_ObjectCategories/llama/image_0044.jpg
101_ObjectCategories/llama/image_0046.jpg
101_ObjectCategories/llama/image_0047.jpg
101_ObjectCategories/llama/image_0048.jpg
101_ObjectCategories/llama/image_0049.jpg
101_ObjectCategories/llama/image_0050.jpg
101_ObjectCategories/llama/image_0052.jpg
101_ObjectCategories/llama/image_0053.jpg
101_ObjectCategories/llama/image_0054.jpg
101_ObjectCategories/llama/image_0055.jpg
101_ObjectCategories/llama/image_0056.jpg
101_ObjectCategories/llama/image_0058.jpg
101_ObjectCategories/llama/image_0059.jpg
101_ObjectCategories/llama/image_0060.jpg
101_ObjectCategories/llama/image_0061.jpg
101_ObjectCategories/llama/image_0062.jpg
101_ObjectCategories/llama/image_0064.jpg
101_ObjectCategories/llama/image_0065.jpg
101_ObjectCategories/llama/image_0066.jpg
101_ObjectCategories/llama/image_0067.jpg
101_ObjectCategories/llama/image_0068.jpg
101_ObjectCategories/llama/image_0070.jpg
101_ObjectCategories/llama/image_0071.jpg
101_ObjectCategories/llama/image_0072.jpg
101_ObjectCategories/llama/image_0073.jpg
101_ObjectCategories/llama/image_0074.jpg
101_ObjectCategories/llama/image_0076.jpg
101_ObjectCategories/llama/image_0077.jpg
101_ObjectCategories/llama/image_0078.jpg
101_ObjectCategories/llama/image_0001.jpg
101_ObjectCategories/llama/image_0002.jpg
101_ObjectCategories/llama/image_0003.jpg
101_ObjectCategories/llama/image_0009.jpg
101_ObjectCategories/llama/image_0015.jpg
101_ObjectCategories/llama/image_0021.jpg
101_ObjectCategories/llama/image_0027.jpg
101_ObjectCategories/llama/image_0033.jpg
101_ObjectCategories/llama/image_0039.jpg
101_ObjectCategories/llama/image_0045.jpg
101_ObjectCategories/llama/image_0051.jpg
101_ObjectCategories/llama/image_0057.jpg
101_ObjectCategories/llama/image_0063.jpg
101_ObjectCategories/llama/image_0069.jpg
101_ObjectCategories/llama/image_0075.jpg
101_ObjectCategories/lobster/
101_ObjectCategories/lobster/image_0004.jpg
101_ObjectCategories/lobster/image_0005.jpg
101_ObjectCategories/lobster/image_0006.jpg
101_ObjectCategories/lobster/image_0007.jpg
101_ObjectCategories/lobster/image_0008.jpg
101_ObjectCategories/lobster/image_0010.jpg
101_ObjectCategories/lobster/image_0011.jpg
101_ObjectCategories/lobster/image_0012.jpg
101_ObjectCategories/lobster/image_0013.jpg
101_ObjectCategories/lobster/image_0014.jpg
101_ObjectCategories/lobster/image_0016.jpg
101_ObjectCategories/lobster/image_0017.jpg
101_ObjectCategories/lobster/image_0018.jpg
101_ObjectCategories/lobster/image_0019.jpg
101_ObjectCategories/lobster/image_0020.jpg
101_ObjectCategories/lobster/image_0022.jpg
101_ObjectCategories/lobster/image_0023.jpg
101_ObjectCategories/lobster/image_0024.jpg
101_ObjectCategories/lobster/image_0025.jpg
101_ObjectCategories/lobster/image_0026.jpg
101_ObjectCategories/lobster/image_0028.jpg
101_ObjectCategories/lobster/image_0029.jpg
101_ObjectCategories/lobster/image_0030.jpg
101_ObjectCategories/lobster/image_0031.jpg
101_ObjectCategories/lobster/image_0032.jpg
101_ObjectCategories/lobster/image_0034.jpg
101_ObjectCategories/lobster/image_0035.jpg
101_ObjectCategories/lobster/image_0036.jpg
101_ObjectCategories/lobster/image_0037.jpg
101_ObjectCategories/lobster/image_0038.jpg
101_ObjectCategories/lobster/image_0040.jpg
101_ObjectCategories/lobster/image_0041.jpg
101_ObjectCategories/lobster/image_0001.jpg
101_ObjectCategories/lobster/image_0002.jpg
101_ObjectCategories/lobster/image_0003.jpg
101_ObjectCategories/lobster/image_0009.jpg
101_ObjectCategories/lobster/image_0015.jpg
101_ObjectCategories/lobster/image_0021.jpg
101_ObjectCategories/lobster/image_0027.jpg
101_ObjectCategories/lobster/image_0033.jpg
101_ObjectCategories/lobster/image_0039.jpg
101_ObjectCategories/lotus/
101_ObjectCategories/lotus/image_0004.jpg
101_ObjectCategories/lotus/image_0005.jpg
101_ObjectCategories/lotus/image_0006.jpg
101_ObjectCategories/lotus/image_0007.jpg
101_ObjectCategories/lotus/image_0008.jpg
101_ObjectCategories/lotus/image_0010.jpg
101_ObjectCategories/lotus/image_0011.jpg
101_ObjectCategories/lotus/image_0012.jpg
101_ObjectCategories/lotus/image_0013.jpg
101_ObjectCategories/lotus/image_0014.jpg
101_ObjectCategories/lotus/image_0016.jpg
101_ObjectCategories/lotus/image_0017.jpg
101_ObjectCategories/lotus/image_0018.jpg
101_ObjectCategories/lotus/image_0019.jpg
101_ObjectCategories/lotus/image_0020.jpg
101_ObjectCategories/lotus/image_0022.jpg
101_ObjectCategories/lotus/image_0023.jpg
101_ObjectCategories/lotus/image_0024.jpg
101_ObjectCategories/lotus/image_0025.jpg
101_ObjectCategories/lotus/image_0026.jpg
101_ObjectCategories/lotus/image_0028.jpg
101_ObjectCategories/lotus/image_0029.jpg
101_ObjectCategories/lotus/image_0030.jpg
101_ObjectCategories/lotus/image_0031.jpg
101_ObjectCategories/lotus/image_0032.jpg
101_ObjectCategories/lotus/image_0034.jpg
101_ObjectCategories/lotus/image_0035.jpg
101_ObjectCategories/lotus/image_0036.jpg
101_ObjectCategories/lotus/image_0037.jpg
101_ObjectCategories/lotus/image_0038.jpg
101_ObjectCategories/lotus/image_0040.jpg
101_ObjectCategories/lotus/image_0041.jpg
101_ObjectCategories/lotus/image_0042.jpg
101_ObjectCategories/lotus/image_0043.jpg
101_ObjectCategories/lotus/image_0044.jpg
101_ObjectCategories/lotus/image_0046.jpg
101_ObjectCategories/lotus/image_0047.jpg
101_ObjectCategories/lotus/image_0048.jpg
101_ObjectCategories/lotus/image_0049.jpg
101_ObjectCategories/lotus/image_0050.jpg
101_ObjectCategories/lotus/image_0052.jpg
101_ObjectCategories/lotus/image_0053.jpg
101_ObjectCategories/lotus/image_0054.jpg
101_ObjectCategories/lotus/image_0055.jpg
101_ObjectCategories/lotus/image_0056.jpg
101_ObjectCategories/lotus/image_0058.jpg
101_ObjectCategories/lotus/image_0059.jpg
101_ObjectCategories/lotus/image_0060.jpg
101_ObjectCategories/lotus/image_0061.jpg
101_ObjectCategories/lotus/image_0062.jpg
101_ObjectCategories/lotus/image_0064.jpg
101_ObjectCategories/lotus/image_0065.jpg
101_ObjectCategories/lotus/image_0066.jpg
101_ObjectCategories/lotus/image_0001.jpg
101_ObjectCategories/lotus/image_0002.jpg
101_ObjectCategories/lotus/image_0003.jpg
101_ObjectCategories/lotus/image_0009.jpg
101_ObjectCategories/lotus/image_0015.jpg
101_ObjectCategories/lotus/image_0021.jpg
101_ObjectCategories/lotus/image_0027.jpg
101_ObjectCategories/lotus/image_0033.jpg
101_ObjectCategories/lotus/image_0039.jpg
101_ObjectCategories/lotus/image_0045.jpg
101_ObjectCategories/lotus/image_0051.jpg
101_ObjectCategories/lotus/image_0057.jpg
101_ObjectCategories/lotus/image_0063.jpg
101_ObjectCategories/mandolin/
101_ObjectCategories/mandolin/image_0004.jpg
101_ObjectCategories/mandolin/image_0005.jpg
101_ObjectCategories/mandolin/image_0006.jpg
101_ObjectCategories/mandolin/image_0007.jpg
101_ObjectCategories/mandolin/image_0008.jpg
101_ObjectCategories/mandolin/image_0010.jpg
101_ObjectCategories/mandolin/image_0011.jpg
101_ObjectCategories/mandolin/image_0012.jpg
101_ObjectCategories/mandolin/image_0013.jpg
101_ObjectCategories/mandolin/image_0014.jpg
101_ObjectCategories/mandolin/image_0016.jpg
101_ObjectCategories/mandolin/image_0017.jpg
101_ObjectCategories/mandolin/image_0018.jpg
101_ObjectCategories/mandolin/image_0019.jpg
101_ObjectCategories/mandolin/image_0020.jpg
101_ObjectCategories/mandolin/image_0022.jpg
101_ObjectCategories/mandolin/image_0023.jpg
101_ObjectCategories/mandolin/image_0024.jpg
101_ObjectCategories/mandolin/image_0025.jpg
101_ObjectCategories/mandolin/image_0026.jpg
101_ObjectCategories/mandolin/image_0028.jpg
101_ObjectCategories/mandolin/image_0029.jpg
101_ObjectCategories/mandolin/image_0030.jpg
101_ObjectCategories/mandolin/image_0031.jpg
101_ObjectCategories/mandolin/image_0032.jpg
101_ObjectCategories/mandolin/image_0034.jpg
101_ObjectCategories/mandolin/image_0035.jpg
101_ObjectCategories/mandolin/image_0036.jpg
101_ObjectCategories/mandolin/image_0037.jpg
101_ObjectCategories/mandolin/image_0038.jpg
101_ObjectCategories/mandolin/image_0040.jpg
101_ObjectCategories/mandolin/image_0041.jpg
101_ObjectCategories/mandolin/image_0042.jpg
101_ObjectCategories/mandolin/image_0043.jpg
101_ObjectCategories/mandolin/image_0001.jpg
101_ObjectCategories/mandolin/image_0002.jpg
101_ObjectCategories/mandolin/image_0003.jpg
101_ObjectCategories/mandolin/image_0009.jpg
101_ObjectCategories/mandolin/image_0015.jpg
101_ObjectCategories/mandolin/image_0021.jpg
101_ObjectCategories/mandolin/image_0027.jpg
101_ObjectCategories/mandolin/image_0033.jpg
101_ObjectCategories/mandolin/image_0039.jpg
101_ObjectCategories/mayfly/
101_ObjectCategories/mayfly/image_0004.jpg
101_ObjectCategories/mayfly/image_0005.jpg
101_ObjectCategories/mayfly/image_0006.jpg
101_ObjectCategories/mayfly/image_0007.jpg
101_ObjectCategories/mayfly/image_0008.jpg
101_ObjectCategories/mayfly/image_0010.jpg
101_ObjectCategories/mayfly/image_0011.jpg
101_ObjectCategories/mayfly/image_0012.jpg
101_ObjectCategories/mayfly/image_0013.jpg
101_ObjectCategories/mayfly/image_0014.jpg
101_ObjectCategories/mayfly/image_0016.jpg
101_ObjectCategories/mayfly/image_0017.jpg
101_ObjectCategories/mayfly/image_0018.jpg
101_ObjectCategories/mayfly/image_0019.jpg
101_ObjectCategories/mayfly/image_0020.jpg
101_ObjectCategories/mayfly/image_0022.jpg
101_ObjectCategories/mayfly/image_0023.jpg
101_ObjectCategories/mayfly/image_0024.jpg
101_ObjectCategories/mayfly/image_0025.jpg
101_ObjectCategories/mayfly/image_0026.jpg
101_ObjectCategories/mayfly/image_0028.jpg
101_ObjectCategories/mayfly/image_0029.jpg
101_ObjectCategories/mayfly/image_0030.jpg
101_ObjectCategories/mayfly/image_0031.jpg
101_ObjectCategories/mayfly/image_0032.jpg
101_ObjectCategories/mayfly/image_0034.jpg
101_ObjectCategories/mayfly/image_0035.jpg
101_ObjectCategories/mayfly/image_0036.jpg
101_ObjectCategories/mayfly/image_0037.jpg
101_ObjectCategories/mayfly/image_0038.jpg
101_ObjectCategories/mayfly/image_0040.jpg
101_ObjectCategories/mayfly/image_0001.jpg
101_ObjectCategories/mayfly/image_0002.jpg
101_ObjectCategories/mayfly/image_0003.jpg
101_ObjectCategories/mayfly/image_0009.jpg
101_ObjectCategories/mayfly/image_0015.jpg
101_ObjectCategories/mayfly/image_0021.jpg
101_ObjectCategories/mayfly/image_0027.jpg
101_ObjectCategories/mayfly/image_0033.jpg
101_ObjectCategories/mayfly/image_0039.jpg
101_ObjectCategories/menorah/
101_ObjectCategories/menorah/image_0004.jpg
101_ObjectCategories/menorah/image_0005.jpg
101_ObjectCategories/menorah/image_0006.jpg
101_ObjectCategories/menorah/image_0007.jpg
101_ObjectCategories/menorah/image_0008.jpg
101_ObjectCategories/menorah/image_0010.jpg
101_ObjectCategories/menorah/image_0011.jpg
101_ObjectCategories/menorah/image_0012.jpg
101_ObjectCategories/menorah/image_0013.jpg
101_ObjectCategories/menorah/image_0014.jpg
101_ObjectCategories/menorah/image_0016.jpg
101_ObjectCategories/menorah/image_0017.jpg
101_ObjectCategories/menorah/image_0018.jpg
101_ObjectCategories/menorah/image_0019.jpg
101_ObjectCategories/menorah/image_0020.jpg
101_ObjectCategories/menorah/image_0022.jpg
101_ObjectCategories/menorah/image_0023.jpg
101_ObjectCategories/menorah/image_0024.jpg
101_ObjectCategories/menorah/image_0025.jpg
101_ObjectCategories/menorah/image_0026.jpg
101_ObjectCategories/menorah/image_0028.jpg
101_ObjectCategories/menorah/image_0029.jpg
101_ObjectCategories/menorah/image_0030.jpg
101_ObjectCategories/menorah/image_0031.jpg
101_ObjectCategories/menorah/image_0032.jpg
101_ObjectCategories/menorah/image_0034.jpg
101_ObjectCategories/menorah/image_0035.jpg
101_ObjectCategories/menorah/image_0036.jpg
101_ObjectCategories/menorah/image_0037.jpg
101_ObjectCategories/menorah/image_0038.jpg
101_ObjectCategories/menorah/image_0040.jpg
101_ObjectCategories/menorah/image_0041.jpg
101_ObjectCategories/menorah/image_0042.jpg
101_ObjectCategories/menorah/image_0043.jpg
101_ObjectCategories/menorah/image_0044.jpg
101_ObjectCategories/menorah/image_0046.jpg
101_ObjectCategories/menorah/image_0047.jpg
101_ObjectCategories/menorah/image_0048.jpg
101_ObjectCategories/menorah/image_0049.jpg
101_ObjectCategories/menorah/image_0050.jpg
101_ObjectCategories/menorah/image_0052.jpg
101_ObjectCategories/menorah/image_0053.jpg
101_ObjectCategories/menorah/image_0054.jpg
101_ObjectCategories/menorah/image_0055.jpg
101_ObjectCategories/menorah/image_0056.jpg
101_ObjectCategories/menorah/image_0058.jpg
101_ObjectCategories/menorah/image_0059.jpg
101_ObjectCategories/menorah/image_0060.jpg
101_ObjectCategories/menorah/image_0061.jpg
101_ObjectCategories/menorah/image_0062.jpg
101_ObjectCategories/menorah/image_0064.jpg
101_ObjectCategories/menorah/image_0065.jpg
101_ObjectCategories/menorah/image_0066.jpg
101_ObjectCategories/menorah/image_0067.jpg
101_ObjectCategories/menorah/image_0068.jpg
101_ObjectCategories/menorah/image_0070.jpg
101_ObjectCategories/menorah/image_0071.jpg
101_ObjectCategories/menorah/image_0072.jpg
101_ObjectCategories/menorah/image_0073.jpg
101_ObjectCategories/menorah/image_0074.jpg
101_ObjectCategories/menorah/image_0076.jpg
101_ObjectCategories/menorah/image_0077.jpg
101_ObjectCategories/menorah/image_0078.jpg
101_ObjectCategories/menorah/image_0079.jpg
101_ObjectCategories/menorah/image_0080.jpg
101_ObjectCategories/menorah/image_0082.jpg
101_ObjectCategories/menorah/image_0083.jpg
101_ObjectCategories/menorah/image_0084.jpg
101_ObjectCategories/menorah/image_0085.jpg
101_ObjectCategories/menorah/image_0086.jpg
101_ObjectCategories/menorah/image_0001.jpg
101_ObjectCategories/menorah/image_0002.jpg
101_ObjectCategories/menorah/image_0003.jpg
101_ObjectCategories/menorah/image_0009.jpg
101_ObjectCategories/menorah/image_0015.jpg
101_ObjectCategories/menorah/image_0021.jpg
101_ObjectCategories/menorah/image_0027.jpg
101_ObjectCategories/menorah/image_0033.jpg
101_ObjectCategories/menorah/image_0039.jpg
101_ObjectCategories/menorah/image_0045.jpg
101_ObjectCategories/menorah/image_0051.jpg
101_ObjectCategories/menorah/image_0057.jpg
101_ObjectCategories/menorah/image_0063.jpg
101_ObjectCategories/menorah/image_0069.jpg
101_ObjectCategories/menorah/image_0075.jpg
101_ObjectCategories/menorah/image_0081.jpg
101_ObjectCategories/menorah/image_0087.jpg
101_ObjectCategories/metronome/
101_ObjectCategories/metronome/image_0004.jpg
101_ObjectCategories/metronome/image_0005.jpg
101_ObjectCategories/metronome/image_0006.jpg
101_ObjectCategories/metronome/image_0007.jpg
101_ObjectCategories/metronome/image_0008.jpg
101_ObjectCategories/metronome/image_0010.jpg
101_ObjectCategories/metronome/image_0011.jpg
101_ObjectCategories/metronome/image_0012.jpg
101_ObjectCategories/metronome/image_0013.jpg
101_ObjectCategories/metronome/image_0014.jpg
101_ObjectCategories/metronome/image_0016.jpg
101_ObjectCategories/metronome/image_0017.jpg
101_ObjectCategories/metronome/image_0018.jpg
101_ObjectCategories/metronome/image_0019.jpg
101_ObjectCategories/metronome/image_0020.jpg
101_ObjectCategories/metronome/image_0022.jpg
101_ObjectCategories/metronome/image_0023.jpg
101_ObjectCategories/metronome/image_0024.jpg
101_ObjectCategories/metronome/image_0025.jpg
101_ObjectCategories/metronome/image_0026.jpg
101_ObjectCategories/metronome/image_0028.jpg
101_ObjectCategories/metronome/image_0029.jpg
101_ObjectCategories/metronome/image_0030.jpg
101_ObjectCategories/metronome/image_0031.jpg
101_ObjectCategories/metronome/image_0032.jpg
101_ObjectCategories/metronome/image_0001.jpg
101_ObjectCategories/metronome/image_0002.jpg
101_ObjectCategories/metronome/image_0003.jpg
101_ObjectCategories/metronome/image_0009.jpg
101_ObjectCategories/metronome/image_0015.jpg
101_ObjectCategories/metronome/image_0021.jpg
101_ObjectCategories/metronome/image_0027.jpg
101_ObjectCategories/minaret/
101_ObjectCategories/minaret/image_0004.jpg
101_ObjectCategories/minaret/image_0005.jpg
101_ObjectCategories/minaret/image_0006.jpg
101_ObjectCategories/minaret/image_0007.jpg
101_ObjectCategories/minaret/image_0008.jpg
101_ObjectCategories/minaret/image_0010.jpg
101_ObjectCategories/minaret/image_0011.jpg
101_ObjectCategories/minaret/image_0012.jpg
101_ObjectCategories/minaret/image_0013.jpg
101_ObjectCategories/minaret/image_0014.jpg
101_ObjectCategories/minaret/image_0016.jpg
101_ObjectCategories/minaret/image_0017.jpg
101_ObjectCategories/minaret/image_0018.jpg
101_ObjectCategories/minaret/image_0019.jpg
101_ObjectCategories/minaret/image_0020.jpg
101_ObjectCategories/minaret/image_0022.jpg
101_ObjectCategories/minaret/image_0023.jpg
101_ObjectCategories/minaret/image_0024.jpg
101_ObjectCategories/minaret/image_0025.jpg
101_ObjectCategories/minaret/image_0026.jpg
101_ObjectCategories/minaret/image_0028.jpg
101_ObjectCategories/minaret/image_0029.jpg
101_ObjectCategories/minaret/image_0030.jpg
101_ObjectCategories/minaret/image_0031.jpg
101_ObjectCategories/minaret/image_0032.jpg
101_ObjectCategories/minaret/image_0034.jpg
101_ObjectCategories/minaret/image_0035.jpg
101_ObjectCategories/minaret/image_0036.jpg
101_ObjectCategories/minaret/image_0037.jpg
101_ObjectCategories/minaret/image_0038.jpg
101_ObjectCategories/minaret/image_0040.jpg
101_ObjectCategories/minaret/image_0041.jpg
101_ObjectCategories/minaret/image_0042.jpg
101_ObjectCategories/minaret/image_0043.jpg
101_ObjectCategories/minaret/image_0044.jpg
101_ObjectCategories/minaret/image_0046.jpg
101_ObjectCategories/minaret/image_0047.jpg
101_ObjectCategories/minaret/image_0048.jpg
101_ObjectCategories/minaret/image_0049.jpg
101_ObjectCategories/minaret/image_0050.jpg
101_ObjectCategories/minaret/image_0052.jpg
101_ObjectCategories/minaret/image_0053.jpg
101_ObjectCategories/minaret/image_0054.jpg
101_ObjectCategories/minaret/image_0055.jpg
101_ObjectCategories/minaret/image_0056.jpg
101_ObjectCategories/minaret/image_0058.jpg
101_ObjectCategories/minaret/image_0059.jpg
101_ObjectCategories/minaret/image_0060.jpg
101_ObjectCategories/minaret/image_0061.jpg
101_ObjectCategories/minaret/image_0062.jpg
101_ObjectCategories/minaret/image_0064.jpg
101_ObjectCategories/minaret/image_0065.jpg
101_ObjectCategories/minaret/image_0066.jpg
101_ObjectCategories/minaret/image_0067.jpg
101_ObjectCategories/minaret/image_0068.jpg
101_ObjectCategories/minaret/image_0070.jpg
101_ObjectCategories/minaret/image_0071.jpg
101_ObjectCategories/minaret/image_0072.jpg
101_ObjectCategories/minaret/image_0073.jpg
101_ObjectCategories/minaret/image_0074.jpg
101_ObjectCategories/minaret/image_0076.jpg
101_ObjectCategories/minaret/image_0001.jpg
101_ObjectCategories/minaret/image_0002.jpg
101_ObjectCategories/minaret/image_0003.jpg
101_ObjectCategories/minaret/image_0009.jpg
101_ObjectCategories/minaret/image_0015.jpg
101_ObjectCategories/minaret/image_0021.jpg
101_ObjectCategories/minaret/image_0027.jpg
101_ObjectCategories/minaret/image_0033.jpg
101_ObjectCategories/minaret/image_0039.jpg
101_ObjectCategories/minaret/image_0045.jpg
101_ObjectCategories/minaret/image_0051.jpg
101_ObjectCategories/minaret/image_0057.jpg
101_ObjectCategories/minaret/image_0063.jpg
101_ObjectCategories/minaret/image_0069.jpg
101_ObjectCategories/minaret/image_0075.jpg
101_ObjectCategories/nautilus/
101_ObjectCategories/nautilus/image_0004.jpg
101_ObjectCategories/nautilus/image_0005.jpg
101_ObjectCategories/nautilus/image_0006.jpg
101_ObjectCategories/nautilus/image_0007.jpg
101_ObjectCategories/nautilus/image_0008.jpg
101_ObjectCategories/nautilus/image_0010.jpg
101_ObjectCategories/nautilus/image_0011.jpg
101_ObjectCategories/nautilus/image_0012.jpg
101_ObjectCategories/nautilus/image_0013.jpg
101_ObjectCategories/nautilus/image_0014.jpg
101_ObjectCategories/nautilus/image_0016.jpg
101_ObjectCategories/nautilus/image_0017.jpg
101_ObjectCategories/nautilus/image_0018.jpg
101_ObjectCategories/nautilus/image_0019.jpg
101_ObjectCategories/nautilus/image_0020.jpg
101_ObjectCategories/nautilus/image_0022.jpg
101_ObjectCategories/nautilus/image_0023.jpg
101_ObjectCategories/nautilus/image_0024.jpg
101_ObjectCategories/nautilus/image_0025.jpg
101_ObjectCategories/nautilus/image_0026.jpg
101_ObjectCategories/nautilus/image_0028.jpg
101_ObjectCategories/nautilus/image_0029.jpg
101_ObjectCategories/nautilus/image_0030.jpg
101_ObjectCategories/nautilus/image_0031.jpg
101_ObjectCategories/nautilus/image_0032.jpg
101_ObjectCategories/nautilus/image_0034.jpg
101_ObjectCategories/nautilus/image_0035.jpg
101_ObjectCategories/nautilus/image_0036.jpg
101_ObjectCategories/nautilus/image_0037.jpg
101_ObjectCategories/nautilus/image_0038.jpg
101_ObjectCategories/nautilus/image_0040.jpg
101_ObjectCategories/nautilus/image_0041.jpg
101_ObjectCategories/nautilus/image_0042.jpg
101_ObjectCategories/nautilus/image_0043.jpg
101_ObjectCategories/nautilus/image_0044.jpg
101_ObjectCategories/nautilus/image_0046.jpg
101_ObjectCategories/nautilus/image_0047.jpg
101_ObjectCategories/nautilus/image_0048.jpg
101_ObjectCategories/nautilus/image_0049.jpg
101_ObjectCategories/nautilus/image_0050.jpg
101_ObjectCategories/nautilus/image_0052.jpg
101_ObjectCategories/nautilus/image_0053.jpg
101_ObjectCategories/nautilus/image_0054.jpg
101_ObjectCategories/nautilus/image_0055.jpg
101_ObjectCategories/nautilus/image_0001.jpg
101_ObjectCategories/nautilus/image_0002.jpg
101_ObjectCategories/nautilus/image_0003.jpg
101_ObjectCategories/nautilus/image_0009.jpg
101_ObjectCategories/nautilus/image_0015.jpg
101_ObjectCategories/nautilus/image_0021.jpg
101_ObjectCategories/nautilus/image_0027.jpg
101_ObjectCategories/nautilus/image_0033.jpg
101_ObjectCategories/nautilus/image_0039.jpg
101_ObjectCategories/nautilus/image_0045.jpg
101_ObjectCategories/nautilus/image_0051.jpg
101_ObjectCategories/octopus/
101_ObjectCategories/octopus/image_0004.jpg
101_ObjectCategories/octopus/image_0005.jpg
101_ObjectCategories/octopus/image_0006.jpg
101_ObjectCategories/octopus/image_0007.jpg
101_ObjectCategories/octopus/image_0008.jpg
101_ObjectCategories/octopus/image_0010.jpg
101_ObjectCategories/octopus/image_0011.jpg
101_ObjectCategories/octopus/image_0012.jpg
101_ObjectCategories/octopus/image_0013.jpg
101_ObjectCategories/octopus/image_0014.jpg
101_ObjectCategories/octopus/image_0016.jpg
101_ObjectCategories/octopus/image_0017.jpg
101_ObjectCategories/octopus/image_0018.jpg
101_ObjectCategories/octopus/image_0019.jpg
101_ObjectCategories/octopus/image_0020.jpg
101_ObjectCategories/octopus/image_0022.jpg
101_ObjectCategories/octopus/image_0023.jpg
101_ObjectCategories/octopus/image_0024.jpg
101_ObjectCategories/octopus/image_0025.jpg
101_ObjectCategories/octopus/image_0026.jpg
101_ObjectCategories/octopus/image_0028.jpg
101_ObjectCategories/octopus/image_0029.jpg
101_ObjectCategories/octopus/image_0030.jpg
101_ObjectCategories/octopus/image_0031.jpg
101_ObjectCategories/octopus/image_0032.jpg
101_ObjectCategories/octopus/image_0034.jpg
101_ObjectCategories/octopus/image_0035.jpg
101_ObjectCategories/octopus/image_0001.jpg
101_ObjectCategories/octopus/image_0002.jpg
101_ObjectCategories/octopus/image_0003.jpg
101_ObjectCategories/octopus/image_0009.jpg
101_ObjectCategories/octopus/image_0015.jpg
101_ObjectCategories/octopus/image_0021.jpg
101_ObjectCategories/octopus/image_0027.jpg
101_ObjectCategories/octopus/image_0033.jpg
101_ObjectCategories/okapi/
101_ObjectCategories/okapi/image_0004.jpg
101_ObjectCategories/okapi/image_0005.jpg
101_ObjectCategories/okapi/image_0006.jpg
101_ObjectCategories/okapi/image_0007.jpg
101_ObjectCategories/okapi/image_0008.jpg
101_ObjectCategories/okapi/image_0010.jpg
101_ObjectCategories/okapi/image_0011.jpg
101_ObjectCategories/okapi/image_0012.jpg
101_ObjectCategories/okapi/image_0013.jpg
101_ObjectCategories/okapi/image_0014.jpg
101_ObjectCategories/okapi/image_0016.jpg
101_ObjectCategories/okapi/image_0017.jpg
101_ObjectCategories/okapi/image_0018.jpg
101_ObjectCategories/okapi/image_0019.jpg
101_ObjectCategories/okapi/image_0020.jpg
101_ObjectCategories/okapi/image_0022.jpg
101_ObjectCategories/okapi/image_0023.jpg
101_ObjectCategories/okapi/image_0024.jpg
101_ObjectCategories/okapi/image_0025.jpg
101_ObjectCategories/okapi/image_0026.jpg
101_ObjectCategories/okapi/image_0028.jpg
101_ObjectCategories/okapi/image_0029.jpg
101_ObjectCategories/okapi/image_0030.jpg
101_ObjectCategories/okapi/image_0031.jpg
101_ObjectCategories/okapi/image_0032.jpg
101_ObjectCategories/okapi/image_0034.jpg
101_ObjectCategories/okapi/image_0035.jpg
101_ObjectCategories/okapi/image_0036.jpg
101_ObjectCategories/okapi/image_0037.jpg
101_ObjectCategories/okapi/image_0038.jpg
101_ObjectCategories/okapi/image_0001.jpg
101_ObjectCategories/okapi/image_0002.jpg
101_ObjectCategories/okapi/image_0003.jpg
101_ObjectCategories/okapi/image_0009.jpg
101_ObjectCategories/okapi/image_0015.jpg
101_ObjectCategories/okapi/image_0021.jpg
101_ObjectCategories/okapi/image_0027.jpg
101_ObjectCategories/okapi/image_0033.jpg
101_ObjectCategories/okapi/image_0039.jpg
101_ObjectCategories/pagoda/
101_ObjectCategories/pagoda/image_0004.jpg
101_ObjectCategories/pagoda/image_0005.jpg
101_ObjectCategories/pagoda/image_0006.jpg
101_ObjectCategories/pagoda/image_0007.jpg
101_ObjectCategories/pagoda/image_0008.jpg
101_ObjectCategories/pagoda/image_0010.jpg
101_ObjectCategories/pagoda/image_0011.jpg
101_ObjectCategories/pagoda/image_0012.jpg
101_ObjectCategories/pagoda/image_0013.jpg
101_ObjectCategories/pagoda/image_0014.jpg
101_ObjectCategories/pagoda/image_0016.jpg
101_ObjectCategories/pagoda/image_0017.jpg
101_ObjectCategories/pagoda/image_0018.jpg
101_ObjectCategories/pagoda/image_0019.jpg
101_ObjectCategories/pagoda/image_0020.jpg
101_ObjectCategories/pagoda/image_0022.jpg
101_ObjectCategories/pagoda/image_0023.jpg
101_ObjectCategories/pagoda/image_0024.jpg
101_ObjectCategories/pagoda/image_0025.jpg
101_ObjectCategories/pagoda/image_0026.jpg
101_ObjectCategories/pagoda/image_0028.jpg
101_ObjectCategories/pagoda/image_0029.jpg
101_ObjectCategories/pagoda/image_0030.jpg
101_ObjectCategories/pagoda/image_0031.jpg
101_ObjectCategories/pagoda/image_0032.jpg
101_ObjectCategories/pagoda/image_0034.jpg
101_ObjectCategories/pagoda/image_0035.jpg
101_ObjectCategories/pagoda/image_0036.jpg
101_ObjectCategories/pagoda/image_0037.jpg
101_ObjectCategories/pagoda/image_0038.jpg
101_ObjectCategories/pagoda/image_0040.jpg
101_ObjectCategories/pagoda/image_0041.jpg
101_ObjectCategories/pagoda/image_0042.jpg
101_ObjectCategories/pagoda/image_0043.jpg
101_ObjectCategories/pagoda/image_0044.jpg
101_ObjectCategories/pagoda/image_0046.jpg
101_ObjectCategories/pagoda/image_0047.jpg
101_ObjectCategories/pagoda/image_0001.jpg
101_ObjectCategories/pagoda/image_0002.jpg
101_ObjectCategories/pagoda/image_0003.jpg
101_ObjectCategories/pagoda/image_0009.jpg
101_ObjectCategories/pagoda/image_0015.jpg
101_ObjectCategories/pagoda/image_0021.jpg
101_ObjectCategories/pagoda/image_0027.jpg
101_ObjectCategories/pagoda/image_0033.jpg
101_ObjectCategories/pagoda/image_0039.jpg
101_ObjectCategories/pagoda/image_0045.jpg
101_ObjectCategories/panda/
101_ObjectCategories/panda/image_0004.jpg
101_ObjectCategories/panda/image_0005.jpg
101_ObjectCategories/panda/image_0006.jpg
101_ObjectCategories/panda/image_0007.jpg
101_ObjectCategories/panda/image_0008.jpg
101_ObjectCategories/panda/image_0010.jpg
101_ObjectCategories/panda/image_0011.jpg
101_ObjectCategories/panda/image_0012.jpg
101_ObjectCategories/panda/image_0013.jpg
101_ObjectCategories/panda/image_0014.jpg
101_ObjectCategories/panda/image_0016.jpg
101_ObjectCategories/panda/image_0017.jpg
101_ObjectCategories/panda/image_0018.jpg
101_ObjectCategories/panda/image_0019.jpg
101_ObjectCategories/panda/image_0020.jpg
101_ObjectCategories/panda/image_0022.jpg
101_ObjectCategories/panda/image_0023.jpg
101_ObjectCategories/panda/image_0024.jpg
101_ObjectCategories/panda/image_0025.jpg
101_ObjectCategories/panda/image_0026.jpg
101_ObjectCategories/panda/image_0028.jpg
101_ObjectCategories/panda/image_0029.jpg
101_ObjectCategories/panda/image_0030.jpg
101_ObjectCategories/panda/image_0031.jpg
101_ObjectCategories/panda/image_0032.jpg
101_ObjectCategories/panda/image_0034.jpg
101_ObjectCategories/panda/image_0035.jpg
101_ObjectCategories/panda/image_0036.jpg
101_ObjectCategories/panda/image_0037.jpg
101_ObjectCategories/panda/image_0038.jpg
101_ObjectCategories/panda/image_0001.jpg
101_ObjectCategories/panda/image_0002.jpg
101_ObjectCategories/panda/image_0003.jpg
101_ObjectCategories/panda/image_0009.jpg
101_ObjectCategories/panda/image_0015.jpg
101_ObjectCategories/panda/image_0021.jpg
101_ObjectCategories/panda/image_0027.jpg
101_ObjectCategories/panda/image_0033.jpg
101_ObjectCategories/pigeon/
101_ObjectCategories/pigeon/image_0004.jpg
101_ObjectCategories/pigeon/image_0005.jpg
101_ObjectCategories/pigeon/image_0006.jpg
101_ObjectCategories/pigeon/image_0007.jpg
101_ObjectCategories/pigeon/image_0008.jpg
101_ObjectCategories/pigeon/image_0010.jpg
101_ObjectCategories/pigeon/image_0011.jpg
101_ObjectCategories/pigeon/image_0012.jpg
101_ObjectCategories/pigeon/image_0013.jpg
101_ObjectCategories/pigeon/image_0014.jpg
101_ObjectCategories/pigeon/image_0016.jpg
101_ObjectCategories/pigeon/image_0017.jpg
101_ObjectCategories/pigeon/image_0018.jpg
101_ObjectCategories/pigeon/image_0019.jpg
101_ObjectCategories/pigeon/image_0020.jpg
101_ObjectCategories/pigeon/image_0022.jpg
101_ObjectCategories/pigeon/image_0023.jpg
101_ObjectCategories/pigeon/image_0024.jpg
101_ObjectCategories/pigeon/image_0025.jpg
101_ObjectCategories/pigeon/image_0026.jpg
101_ObjectCategories/pigeon/image_0028.jpg
101_ObjectCategories/pigeon/image_0029.jpg
101_ObjectCategories/pigeon/image_0030.jpg
101_ObjectCategories/pigeon/image_0031.jpg
101_ObjectCategories/pigeon/image_0032.jpg
101_ObjectCategories/pigeon/image_0034.jpg
101_ObjectCategories/pigeon/image_0035.jpg
101_ObjectCategories/pigeon/image_0036.jpg
101_ObjectCategories/pigeon/image_0037.jpg
101_ObjectCategories/pigeon/image_0038.jpg
101_ObjectCategories/pigeon/image_0040.jpg
101_ObjectCategories/pigeon/image_0041.jpg
101_ObjectCategories/pigeon/image_0042.jpg
101_ObjectCategories/pigeon/image_0043.jpg
101_ObjectCategories/pigeon/image_0044.jpg
101_ObjectCategories/pigeon/image_0001.jpg
101_ObjectCategories/pigeon/image_0002.jpg
101_ObjectCategories/pigeon/image_0003.jpg
101_ObjectCategories/pigeon/image_0009.jpg
101_ObjectCategories/pigeon/image_0015.jpg
101_ObjectCategories/pigeon/image_0021.jpg
101_ObjectCategories/pigeon/image_0027.jpg
101_ObjectCategories/pigeon/image_0033.jpg
101_ObjectCategories/pigeon/image_0039.jpg
101_ObjectCategories/pigeon/image_0045.jpg
101_ObjectCategories/pizza/
101_ObjectCategories/pizza/image_0004.jpg
101_ObjectCategories/pizza/image_0005.jpg
101_ObjectCategories/pizza/image_0006.jpg
101_ObjectCategories/pizza/image_0007.jpg
101_ObjectCategories/pizza/image_0008.jpg
101_ObjectCategories/pizza/image_0010.jpg
101_ObjectCategories/pizza/image_0011.jpg
101_ObjectCategories/pizza/image_0012.jpg
101_ObjectCategories/pizza/image_0013.jpg
101_ObjectCategories/pizza/image_0014.jpg
101_ObjectCategories/pizza/image_0016.jpg
101_ObjectCategories/pizza/image_0017.jpg
101_ObjectCategories/pizza/image_0018.jpg
101_ObjectCategories/pizza/image_0019.jpg
101_ObjectCategories/pizza/image_0020.jpg
101_ObjectCategories/pizza/image_0022.jpg
101_ObjectCategories/pizza/image_0023.jpg
101_ObjectCategories/pizza/image_0024.jpg
101_ObjectCategories/pizza/image_0025.jpg
101_ObjectCategories/pizza/image_0026.jpg
101_ObjectCategories/pizza/image_0028.jpg
101_ObjectCategories/pizza/image_0029.jpg
101_ObjectCategories/pizza/image_0030.jpg
101_ObjectCategories/pizza/image_0031.jpg
101_ObjectCategories/pizza/image_0032.jpg
101_ObjectCategories/pizza/image_0034.jpg
101_ObjectCategories/pizza/image_0035.jpg
101_ObjectCategories/pizza/image_0036.jpg
101_ObjectCategories/pizza/image_0037.jpg
101_ObjectCategories/pizza/image_0038.jpg
101_ObjectCategories/pizza/image_0040.jpg
101_ObjectCategories/pizza/image_0041.jpg
101_ObjectCategories/pizza/image_0042.jpg
101_ObjectCategories/pizza/image_0043.jpg
101_ObjectCategories/pizza/image_0044.jpg
101_ObjectCategories/pizza/image_0046.jpg
101_ObjectCategories/pizza/image_0047.jpg
101_ObjectCategories/pizza/image_0048.jpg
101_ObjectCategories/pizza/image_0049.jpg
101_ObjectCategories/pizza/image_0050.jpg
101_ObjectCategories/pizza/image_0052.jpg
101_ObjectCategories/pizza/image_0053.jpg
101_ObjectCategories/pizza/image_0001.jpg
101_ObjectCategories/pizza/image_0002.jpg
101_ObjectCategories/pizza/image_0003.jpg
101_ObjectCategories/pizza/image_0009.jpg
101_ObjectCategories/pizza/image_0015.jpg
101_ObjectCategories/pizza/image_0021.jpg
101_ObjectCategories/pizza/image_0027.jpg
101_ObjectCategories/pizza/image_0033.jpg
101_ObjectCategories/pizza/image_0039.jpg
101_ObjectCategories/pizza/image_0045.jpg
101_ObjectCategories/pizza/image_0051.jpg
101_ObjectCategories/platypus/
101_ObjectCategories/platypus/image_0004.jpg
101_ObjectCategories/platypus/image_0005.jpg
101_ObjectCategories/platypus/image_0006.jpg
101_ObjectCategories/platypus/image_0007.jpg
101_ObjectCategories/platypus/image_0008.jpg
101_ObjectCategories/platypus/image_0010.jpg
101_ObjectCategories/platypus/image_0011.jpg
101_ObjectCategories/platypus/image_0012.jpg
101_ObjectCategories/platypus/image_0013.jpg
101_ObjectCategories/platypus/image_0014.jpg
101_ObjectCategories/platypus/image_0016.jpg
101_ObjectCategories/platypus/image_0017.jpg
101_ObjectCategories/platypus/image_0018.jpg
101_ObjectCategories/platypus/image_0019.jpg
101_ObjectCategories/platypus/image_0020.jpg
101_ObjectCategories/platypus/image_0022.jpg
101_ObjectCategories/platypus/image_0023.jpg
101_ObjectCategories/platypus/image_0024.jpg
101_ObjectCategories/platypus/image_0025.jpg
101_ObjectCategories/platypus/image_0026.jpg
101_ObjectCategories/platypus/image_0028.jpg
101_ObjectCategories/platypus/image_0029.jpg
101_ObjectCategories/platypus/image_0030.jpg
101_ObjectCategories/platypus/image_0031.jpg
101_ObjectCategories/platypus/image_0032.jpg
101_ObjectCategories/platypus/image_0034.jpg
101_ObjectCategories/platypus/image_0001.jpg
101_ObjectCategories/platypus/image_0002.jpg
101_ObjectCategories/platypus/image_0003.jpg
101_ObjectCategories/platypus/image_0009.jpg
101_ObjectCategories/platypus/image_0015.jpg
101_ObjectCategories/platypus/image_0021.jpg
101_ObjectCategories/platypus/image_0027.jpg
101_ObjectCategories/platypus/image_0033.jpg
101_ObjectCategories/pyramid/
101_ObjectCategories/pyramid/image_0004.jpg
101_ObjectCategories/pyramid/image_0005.jpg
101_ObjectCategories/pyramid/image_0006.jpg
101_ObjectCategories/pyramid/image_0007.jpg
101_ObjectCategories/pyramid/image_0008.jpg
101_ObjectCategories/pyramid/image_0010.jpg
101_ObjectCategories/pyramid/image_0011.jpg
101_ObjectCategories/pyramid/image_0012.jpg
101_ObjectCategories/pyramid/image_0013.jpg
101_ObjectCategories/pyramid/image_0014.jpg
101_ObjectCategories/pyramid/image_0016.jpg
101_ObjectCategories/pyramid/image_0017.jpg
101_ObjectCategories/pyramid/image_0018.jpg
101_ObjectCategories/pyramid/image_0019.jpg
101_ObjectCategories/pyramid/image_0020.jpg
101_ObjectCategories/pyramid/image_0022.jpg
101_ObjectCategories/pyramid/image_0023.jpg
101_ObjectCategories/pyramid/image_0024.jpg
101_ObjectCategories/pyramid/image_0025.jpg
101_ObjectCategories/pyramid/image_0026.jpg
101_ObjectCategories/pyramid/image_0028.jpg
101_ObjectCategories/pyramid/image_0029.jpg
101_ObjectCategories/pyramid/image_0030.jpg
101_ObjectCategories/pyramid/image_0031.jpg
101_ObjectCategories/pyramid/image_0032.jpg
101_ObjectCategories/pyramid/image_0034.jpg
101_ObjectCategories/pyramid/image_0035.jpg
101_ObjectCategories/pyramid/image_0036.jpg
101_ObjectCategories/pyramid/image_0037.jpg
101_ObjectCategories/pyramid/image_0038.jpg
101_ObjectCategories/pyramid/image_0040.jpg
101_ObjectCategories/pyramid/image_0041.jpg
101_ObjectCategories/pyramid/image_0042.jpg
101_ObjectCategories/pyramid/image_0043.jpg
101_ObjectCategories/pyramid/image_0044.jpg
101_ObjectCategories/pyramid/image_0046.jpg
101_ObjectCategories/pyramid/image_0047.jpg
101_ObjectCategories/pyramid/image_0048.jpg
101_ObjectCategories/pyramid/image_0049.jpg
101_ObjectCategories/pyramid/image_0050.jpg
101_ObjectCategories/pyramid/image_0052.jpg
101_ObjectCategories/pyramid/image_0053.jpg
101_ObjectCategories/pyramid/image_0054.jpg
101_ObjectCategories/pyramid/image_0055.jpg
101_ObjectCategories/pyramid/image_0056.jpg
101_ObjectCategories/pyramid/image_0001.jpg
101_ObjectCategories/pyramid/image_0002.jpg
101_ObjectCategories/pyramid/image_0003.jpg
101_ObjectCategories/pyramid/image_0009.jpg
101_ObjectCategories/pyramid/image_0015.jpg
101_ObjectCategories/pyramid/image_0021.jpg
101_ObjectCategories/pyramid/image_0027.jpg
101_ObjectCategories/pyramid/image_0033.jpg
101_ObjectCategories/pyramid/image_0039.jpg
101_ObjectCategories/pyramid/image_0045.jpg
101_ObjectCategories/pyramid/image_0051.jpg
101_ObjectCategories/pyramid/image_0057.jpg
101_ObjectCategories/revolver/
101_ObjectCategories/revolver/image_0004.jpg
101_ObjectCategories/revolver/image_0005.jpg
101_ObjectCategories/revolver/image_0006.jpg
101_ObjectCategories/revolver/image_0007.jpg
101_ObjectCategories/revolver/image_0008.jpg
101_ObjectCategories/revolver/image_0010.jpg
101_ObjectCategories/revolver/image_0011.jpg
101_ObjectCategories/revolver/image_0012.jpg
101_ObjectCategories/revolver/image_0013.jpg
101_ObjectCategories/revolver/image_0014.jpg
101_ObjectCategories/revolver/image_0016.jpg
101_ObjectCategories/revolver/image_0017.jpg
101_ObjectCategories/revolver/image_0018.jpg
101_ObjectCategories/revolver/image_0019.jpg
101_ObjectCategories/revolver/image_0020.jpg
101_ObjectCategories/revolver/image_0022.jpg
101_ObjectCategories/revolver/image_0023.jpg
101_ObjectCategories/revolver/image_0024.jpg
101_ObjectCategories/revolver/image_0025.jpg
101_ObjectCategories/revolver/image_0026.jpg
101_ObjectCategories/revolver/image_0028.jpg
101_ObjectCategories/revolver/image_0029.jpg
101_ObjectCategories/revolver/image_0030.jpg
101_ObjectCategories/revolver/image_0031.jpg
101_ObjectCategories/revolver/image_0032.jpg
101_ObjectCategories/revolver/image_0034.jpg
101_ObjectCategories/revolver/image_0035.jpg
101_ObjectCategories/revolver/image_0036.jpg
101_ObjectCategories/revolver/image_0037.jpg
101_ObjectCategories/revolver/image_0038.jpg
101_ObjectCategories/revolver/image_0040.jpg
101_ObjectCategories/revolver/image_0041.jpg
101_ObjectCategories/revolver/image_0042.jpg
101_ObjectCategories/revolver/image_0043.jpg
101_ObjectCategories/revolver/image_0044.jpg
101_ObjectCategories/revolver/image_0046.jpg
101_ObjectCategories/revolver/image_0047.jpg
101_ObjectCategories/revolver/image_0048.jpg
101_ObjectCategories/revolver/image_0049.jpg
101_ObjectCategories/revolver/image_0050.jpg
101_ObjectCategories/revolver/image_0052.jpg
101_ObjectCategories/revolver/image_0053.jpg
101_ObjectCategories/revolver/image_0054.jpg
101_ObjectCategories/revolver/image_0055.jpg
101_ObjectCategories/revolver/image_0056.jpg
101_ObjectCategories/revolver/image_0058.jpg
101_ObjectCategories/revolver/image_0059.jpg
101_ObjectCategories/revolver/image_0060.jpg
101_ObjectCategories/revolver/image_0061.jpg
101_ObjectCategories/revolver/image_0062.jpg
101_ObjectCategories/revolver/image_0064.jpg
101_ObjectCategories/revolver/image_0065.jpg
101_ObjectCategories/revolver/image_0066.jpg
101_ObjectCategories/revolver/image_0067.jpg
101_ObjectCategories/revolver/image_0068.jpg
101_ObjectCategories/revolver/image_0070.jpg
101_ObjectCategories/revolver/image_0071.jpg
101_ObjectCategories/revolver/image_0072.jpg
101_ObjectCategories/revolver/image_0073.jpg
101_ObjectCategories/revolver/image_0074.jpg
101_ObjectCategories/revolver/image_0076.jpg
101_ObjectCategories/revolver/image_0077.jpg
101_ObjectCategories/revolver/image_0078.jpg
101_ObjectCategories/revolver/image_0079.jpg
101_ObjectCategories/revolver/image_0080.jpg
101_ObjectCategories/revolver/image_0082.jpg
101_ObjectCategories/revolver/image_0001.jpg
101_ObjectCategories/revolver/image_0002.jpg
101_ObjectCategories/revolver/image_0003.jpg
101_ObjectCategories/revolver/image_0009.jpg
101_ObjectCategories/revolver/image_0015.jpg
101_ObjectCategories/revolver/image_0021.jpg
101_ObjectCategories/revolver/image_0027.jpg
101_ObjectCategories/revolver/image_0033.jpg
101_ObjectCategories/revolver/image_0039.jpg
101_ObjectCategories/revolver/image_0045.jpg
101_ObjectCategories/revolver/image_0051.jpg
101_ObjectCategories/revolver/image_0057.jpg
101_ObjectCategories/revolver/image_0063.jpg
101_ObjectCategories/revolver/image_0069.jpg
101_ObjectCategories/revolver/image_0075.jpg
101_ObjectCategories/revolver/image_0081.jpg
101_ObjectCategories/rhino/
101_ObjectCategories/rhino/image_0004.jpg
101_ObjectCategories/rhino/image_0005.jpg
101_ObjectCategories/rhino/image_0006.jpg
101_ObjectCategories/rhino/image_0007.jpg
101_ObjectCategories/rhino/image_0008.jpg
101_ObjectCategories/rhino/image_0010.jpg
101_ObjectCategories/rhino/image_0011.jpg
101_ObjectCategories/rhino/image_0012.jpg
101_ObjectCategories/rhino/image_0013.jpg
101_ObjectCategories/rhino/image_0014.jpg
101_ObjectCategories/rhino/image_0016.jpg
101_ObjectCategories/rhino/image_0017.jpg
101_ObjectCategories/rhino/image_0018.jpg
101_ObjectCategories/rhino/image_0019.jpg
101_ObjectCategories/rhino/image_0020.jpg
101_ObjectCategories/rhino/image_0022.jpg
101_ObjectCategories/rhino/image_0023.jpg
101_ObjectCategories/rhino/image_0024.jpg
101_ObjectCategories/rhino/image_0025.jpg
101_ObjectCategories/rhino/image_0026.jpg
101_ObjectCategories/rhino/image_0028.jpg
101_ObjectCategories/rhino/image_0029.jpg
101_ObjectCategories/rhino/image_0030.jpg
101_ObjectCategories/rhino/image_0031.jpg
101_ObjectCategories/rhino/image_0032.jpg
101_ObjectCategories/rhino/image_0034.jpg
101_ObjectCategories/rhino/image_0035.jpg
101_ObjectCategories/rhino/image_0036.jpg
101_ObjectCategories/rhino/image_0037.jpg
101_ObjectCategories/rhino/image_0038.jpg
101_ObjectCategories/rhino/image_0040.jpg
101_ObjectCategories/rhino/image_0041.jpg
101_ObjectCategories/rhino/image_0042.jpg
101_ObjectCategories/rhino/image_0043.jpg
101_ObjectCategories/rhino/image_0044.jpg
101_ObjectCategories/rhino/image_0046.jpg
101_ObjectCategories/rhino/image_0047.jpg
101_ObjectCategories/rhino/image_0048.jpg
101_ObjectCategories/rhino/image_0049.jpg
101_ObjectCategories/rhino/image_0050.jpg
101_ObjectCategories/rhino/image_0052.jpg
101_ObjectCategories/rhino/image_0053.jpg
101_ObjectCategories/rhino/image_0054.jpg
101_ObjectCategories/rhino/image_0055.jpg
101_ObjectCategories/rhino/image_0056.jpg
101_ObjectCategories/rhino/image_0058.jpg
101_ObjectCategories/rhino/image_0059.jpg
101_ObjectCategories/rhino/image_0001.jpg
101_ObjectCategories/rhino/image_0002.jpg
101_ObjectCategories/rhino/image_0003.jpg
101_ObjectCategories/rhino/image_0009.jpg
101_ObjectCategories/rhino/image_0015.jpg
101_ObjectCategories/rhino/image_0021.jpg
101_ObjectCategories/rhino/image_0027.jpg
101_ObjectCategories/rhino/image_0033.jpg
101_ObjectCategories/rhino/image_0039.jpg
101_ObjectCategories/rhino/image_0045.jpg
101_ObjectCategories/rhino/image_0051.jpg
101_ObjectCategories/rhino/image_0057.jpg
101_ObjectCategories/rooster/
101_ObjectCategories/rooster/image_0004.jpg
101_ObjectCategories/rooster/image_0005.jpg
101_ObjectCategories/rooster/image_0006.jpg
101_ObjectCategories/rooster/image_0007.jpg
101_ObjectCategories/rooster/image_0008.jpg
101_ObjectCategories/rooster/image_0010.jpg
101_ObjectCategories/rooster/image_0011.jpg
101_ObjectCategories/rooster/image_0012.jpg
101_ObjectCategories/rooster/image_0013.jpg
101_ObjectCategories/rooster/image_0014.jpg
101_ObjectCategories/rooster/image_0016.jpg
101_ObjectCategories/rooster/image_0017.jpg
101_ObjectCategories/rooster/image_0018.jpg
101_ObjectCategories/rooster/image_0019.jpg
101_ObjectCategories/rooster/image_0020.jpg
101_ObjectCategories/rooster/image_0022.jpg
101_ObjectCategories/rooster/image_0023.jpg
101_ObjectCategories/rooster/image_0024.jpg
101_ObjectCategories/rooster/image_0025.jpg
101_ObjectCategories/rooster/image_0026.jpg
101_ObjectCategories/rooster/image_0028.jpg
101_ObjectCategories/rooster/image_0029.jpg
101_ObjectCategories/rooster/image_0030.jpg
101_ObjectCategories/rooster/image_0031.jpg
101_ObjectCategories/rooster/image_0032.jpg
101_ObjectCategories/rooster/image_0034.jpg
101_ObjectCategories/rooster/image_0035.jpg
101_ObjectCategories/rooster/image_0036.jpg
101_ObjectCategories/rooster/image_0037.jpg
101_ObjectCategories/rooster/image_0038.jpg
101_ObjectCategories/rooster/image_0040.jpg
101_ObjectCategories/rooster/image_0041.jpg
101_ObjectCategories/rooster/image_0042.jpg
101_ObjectCategories/rooster/image_0043.jpg
101_ObjectCategories/rooster/image_0044.jpg
101_ObjectCategories/rooster/image_0046.jpg
101_ObjectCategories/rooster/image_0047.jpg
101_ObjectCategories/rooster/image_0048.jpg
101_ObjectCategories/rooster/image_0049.jpg
101_ObjectCategories/rooster/image_0001.jpg
101_ObjectCategories/rooster/image_0002.jpg
101_ObjectCategories/rooster/image_0003.jpg
101_ObjectCategories/rooster/image_0009.jpg
101_ObjectCategories/rooster/image_0015.jpg
101_ObjectCategories/rooster/image_0021.jpg
101_ObjectCategories/rooster/image_0027.jpg
101_ObjectCategories/rooster/image_0033.jpg
101_ObjectCategories/rooster/image_0039.jpg
101_ObjectCategories/rooster/image_0045.jpg
101_ObjectCategories/saxophone/
101_ObjectCategories/saxophone/image_0004.jpg
101_ObjectCategories/saxophone/image_0005.jpg
101_ObjectCategories/saxophone/image_0006.jpg
101_ObjectCategories/saxophone/image_0007.jpg
101_ObjectCategories/saxophone/image_0008.jpg
101_ObjectCategories/saxophone/image_0010.jpg
101_ObjectCategories/saxophone/image_0011.jpg
101_ObjectCategories/saxophone/image_0012.jpg
101_ObjectCategories/saxophone/image_0013.jpg
101_ObjectCategories/saxophone/image_0014.jpg
101_ObjectCategories/saxophone/image_0016.jpg
101_ObjectCategories/saxophone/image_0017.jpg
101_ObjectCategories/saxophone/image_0018.jpg
101_ObjectCategories/saxophone/image_0019.jpg
101_ObjectCategories/saxophone/image_0020.jpg
101_ObjectCategories/saxophone/image_0022.jpg
101_ObjectCategories/saxophone/image_0023.jpg
101_ObjectCategories/saxophone/image_0024.jpg
101_ObjectCategories/saxophone/image_0025.jpg
101_ObjectCategories/saxophone/image_0026.jpg
101_ObjectCategories/saxophone/image_0028.jpg
101_ObjectCategories/saxophone/image_0029.jpg
101_ObjectCategories/saxophone/image_0030.jpg
101_ObjectCategories/saxophone/image_0031.jpg
101_ObjectCategories/saxophone/image_0032.jpg
101_ObjectCategories/saxophone/image_0034.jpg
101_ObjectCategories/saxophone/image_0035.jpg
101_ObjectCategories/saxophone/image_0036.jpg
101_ObjectCategories/saxophone/image_0037.jpg
101_ObjectCategories/saxophone/image_0038.jpg
101_ObjectCategories/saxophone/image_0040.jpg
101_ObjectCategories/saxophone/image_0001.jpg
101_ObjectCategories/saxophone/image_0002.jpg
101_ObjectCategories/saxophone/image_0003.jpg
101_ObjectCategories/saxophone/image_0009.jpg
101_ObjectCategories/saxophone/image_0015.jpg
101_ObjectCategories/saxophone/image_0021.jpg
101_ObjectCategories/saxophone/image_0027.jpg
101_ObjectCategories/saxophone/image_0033.jpg
101_ObjectCategories/saxophone/image_0039.jpg
101_ObjectCategories/schooner/
101_ObjectCategories/schooner/image_0004.jpg
101_ObjectCategories/schooner/image_0005.jpg
101_ObjectCategories/schooner/image_0006.jpg
101_ObjectCategories/schooner/image_0007.jpg
101_ObjectCategories/schooner/image_0008.jpg
101_ObjectCategories/schooner/image_0010.jpg
101_ObjectCategories/schooner/image_0011.jpg
101_ObjectCategories/schooner/image_0012.jpg
101_ObjectCategories/schooner/image_0013.jpg
101_ObjectCategories/schooner/image_0014.jpg
101_ObjectCategories/schooner/image_0016.jpg
101_ObjectCategories/schooner/image_0017.jpg
101_ObjectCategories/schooner/image_0018.jpg
101_ObjectCategories/schooner/image_0019.jpg
101_ObjectCategories/schooner/image_0020.jpg
101_ObjectCategories/schooner/image_0022.jpg
101_ObjectCategories/schooner/image_0023.jpg
101_ObjectCategories/schooner/image_0024.jpg
101_ObjectCategories/schooner/image_0025.jpg
101_ObjectCategories/schooner/image_0026.jpg
101_ObjectCategories/schooner/image_0028.jpg
101_ObjectCategories/schooner/image_0029.jpg
101_ObjectCategories/schooner/image_0030.jpg
101_ObjectCategories/schooner/image_0031.jpg
101_ObjectCategories/schooner/image_0032.jpg
101_ObjectCategories/schooner/image_0034.jpg
101_ObjectCategories/schooner/image_0035.jpg
101_ObjectCategories/schooner/image_0036.jpg
101_ObjectCategories/schooner/image_0037.jpg
101_ObjectCategories/schooner/image_0038.jpg
101_ObjectCategories/schooner/image_0040.jpg
101_ObjectCategories/schooner/image_0041.jpg
101_ObjectCategories/schooner/image_0042.jpg
101_ObjectCategories/schooner/image_0043.jpg
101_ObjectCategories/schooner/image_0044.jpg
101_ObjectCategories/schooner/image_0046.jpg
101_ObjectCategories/schooner/image_0047.jpg
101_ObjectCategories/schooner/image_0048.jpg
101_ObjectCategories/schooner/image_0049.jpg
101_ObjectCategories/schooner/image_0050.jpg
101_ObjectCategories/schooner/image_0052.jpg
101_ObjectCategories/schooner/image_0053.jpg
101_ObjectCategories/schooner/image_0054.jpg
101_ObjectCategories/schooner/image_0055.jpg
101_ObjectCategories/schooner/image_0056.jpg
101_ObjectCategories/schooner/image_0058.jpg
101_ObjectCategories/schooner/image_0059.jpg
101_ObjectCategories/schooner/image_0060.jpg
101_ObjectCategories/schooner/image_0061.jpg
101_ObjectCategories/schooner/image_0062.jpg
101_ObjectCategories/schooner/image_0001.jpg
101_ObjectCategories/schooner/image_0002.jpg
101_ObjectCategories/schooner/image_0003.jpg
101_ObjectCategories/schooner/image_0009.jpg
101_ObjectCategories/schooner/image_0015.jpg
101_ObjectCategories/schooner/image_0021.jpg
101_ObjectCategories/schooner/image_0027.jpg
101_ObjectCategories/schooner/image_0033.jpg
101_ObjectCategories/schooner/image_0039.jpg
101_ObjectCategories/schooner/image_0045.jpg
101_ObjectCategories/schooner/image_0051.jpg
101_ObjectCategories/schooner/image_0057.jpg
101_ObjectCategories/schooner/image_0063.jpg
101_ObjectCategories/scissors/
101_ObjectCategories/scissors/image_0004.jpg
101_ObjectCategories/scissors/image_0005.jpg
101_ObjectCategories/scissors/image_0006.jpg
101_ObjectCategories/scissors/image_0007.jpg
101_ObjectCategories/scissors/image_0008.jpg
101_ObjectCategories/scissors/image_0010.jpg
101_ObjectCategories/scissors/image_0011.jpg
101_ObjectCategories/scissors/image_0012.jpg
101_ObjectCategories/scissors/image_0013.jpg
101_ObjectCategories/scissors/image_0014.jpg
101_ObjectCategories/scissors/image_0016.jpg
101_ObjectCategories/scissors/image_0017.jpg
101_ObjectCategories/scissors/image_0018.jpg
101_ObjectCategories/scissors/image_0019.jpg
101_ObjectCategories/scissors/image_0020.jpg
101_ObjectCategories/scissors/image_0022.jpg
101_ObjectCategories/scissors/image_0023.jpg
101_ObjectCategories/scissors/image_0024.jpg
101_ObjectCategories/scissors/image_0025.jpg
101_ObjectCategories/scissors/image_0026.jpg
101_ObjectCategories/scissors/image_0028.jpg
101_ObjectCategories/scissors/image_0029.jpg
101_ObjectCategories/scissors/image_0030.jpg
101_ObjectCategories/scissors/image_0031.jpg
101_ObjectCategories/scissors/image_0032.jpg
101_ObjectCategories/scissors/image_0034.jpg
101_ObjectCategories/scissors/image_0035.jpg
101_ObjectCategories/scissors/image_0036.jpg
101_ObjectCategories/scissors/image_0037.jpg
101_ObjectCategories/scissors/image_0038.jpg
101_ObjectCategories/scissors/image_0001.jpg
101_ObjectCategories/scissors/image_0002.jpg
101_ObjectCategories/scissors/image_0003.jpg
101_ObjectCategories/scissors/image_0009.jpg
101_ObjectCategories/scissors/image_0015.jpg
101_ObjectCategories/scissors/image_0021.jpg
101_ObjectCategories/scissors/image_0027.jpg
101_ObjectCategories/scissors/image_0033.jpg
101_ObjectCategories/scissors/image_0039.jpg
101_ObjectCategories/scorpion/
101_ObjectCategories/scorpion/image_0004.jpg
101_ObjectCategories/scorpion/image_0005.jpg
101_ObjectCategories/scorpion/image_0006.jpg
101_ObjectCategories/scorpion/image_0007.jpg
101_ObjectCategories/scorpion/image_0008.jpg
101_ObjectCategories/scorpion/image_0010.jpg
101_ObjectCategories/scorpion/image_0011.jpg
101_ObjectCategories/scorpion/image_0012.jpg
101_ObjectCategories/scorpion/image_0013.jpg
101_ObjectCategories/scorpion/image_0014.jpg
101_ObjectCategories/scorpion/image_0016.jpg
101_ObjectCategories/scorpion/image_0017.jpg
101_ObjectCategories/scorpion/image_0018.jpg
101_ObjectCategories/scorpion/image_0019.jpg
101_ObjectCategories/scorpion/image_0020.jpg
101_ObjectCategories/scorpion/image_0022.jpg
101_ObjectCategories/scorpion/image_0023.jpg
101_ObjectCategories/scorpion/image_0024.jpg
101_ObjectCategories/scorpion/image_0025.jpg
101_ObjectCategories/scorpion/image_0026.jpg
101_ObjectCategories/scorpion/image_0028.jpg
101_ObjectCategories/scorpion/image_0029.jpg
101_ObjectCategories/scorpion/image_0030.jpg
101_ObjectCategories/scorpion/image_0031.jpg
101_ObjectCategories/scorpion/image_0032.jpg
101_ObjectCategories/scorpion/image_0034.jpg
101_ObjectCategories/scorpion/image_0035.jpg
101_ObjectCategories/scorpion/image_0036.jpg
101_ObjectCategories/scorpion/image_0037.jpg
101_ObjectCategories/scorpion/image_0038.jpg
101_ObjectCategories/scorpion/image_0040.jpg
101_ObjectCategories/scorpion/image_0041.jpg
101_ObjectCategories/scorpion/image_0042.jpg
101_ObjectCategories/scorpion/image_0043.jpg
101_ObjectCategories/scorpion/image_0044.jpg
101_ObjectCategories/scorpion/image_0046.jpg
101_ObjectCategories/scorpion/image_0047.jpg
101_ObjectCategories/scorpion/image_0048.jpg
101_ObjectCategories/scorpion/image_0049.jpg
101_ObjectCategories/scorpion/image_0050.jpg
101_ObjectCategories/scorpion/image_0052.jpg
101_ObjectCategories/scorpion/image_0053.jpg
101_ObjectCategories/scorpion/image_0054.jpg
101_ObjectCategories/scorpion/image_0055.jpg
101_ObjectCategories/scorpion/image_0056.jpg
101_ObjectCategories/scorpion/image_0058.jpg
101_ObjectCategories/scorpion/image_0059.jpg
101_ObjectCategories/scorpion/image_0060.jpg
101_ObjectCategories/scorpion/image_0061.jpg
101_ObjectCategories/scorpion/image_0062.jpg
101_ObjectCategories/scorpion/image_0064.jpg
101_ObjectCategories/scorpion/image_0065.jpg
101_ObjectCategories/scorpion/image_0066.jpg
101_ObjectCategories/scorpion/image_0067.jpg
101_ObjectCategories/scorpion/image_0068.jpg
101_ObjectCategories/scorpion/image_0070.jpg
101_ObjectCategories/scorpion/image_0071.jpg
101_ObjectCategories/scorpion/image_0072.jpg
101_ObjectCategories/scorpion/image_0073.jpg
101_ObjectCategories/scorpion/image_0074.jpg
101_ObjectCategories/scorpion/image_0076.jpg
101_ObjectCategories/scorpion/image_0077.jpg
101_ObjectCategories/scorpion/image_0078.jpg
101_ObjectCategories/scorpion/image_0079.jpg
101_ObjectCategories/scorpion/image_0080.jpg
101_ObjectCategories/scorpion/image_0082.jpg
101_ObjectCategories/scorpion/image_0083.jpg
101_ObjectCategories/scorpion/image_0084.jpg
101_ObjectCategories/scorpion/image_0001.jpg
101_ObjectCategories/scorpion/image_0002.jpg
101_ObjectCategories/scorpion/image_0003.jpg
101_ObjectCategories/scorpion/image_0009.jpg
101_ObjectCategories/scorpion/image_0015.jpg
101_ObjectCategories/scorpion/image_0021.jpg
101_ObjectCategories/scorpion/image_0027.jpg
101_ObjectCategories/scorpion/image_0033.jpg
101_ObjectCategories/scorpion/image_0039.jpg
101_ObjectCategories/scorpion/image_0045.jpg
101_ObjectCategories/scorpion/image_0051.jpg
101_ObjectCategories/scorpion/image_0057.jpg
101_ObjectCategories/scorpion/image_0063.jpg
101_ObjectCategories/scorpion/image_0069.jpg
101_ObjectCategories/scorpion/image_0075.jpg
101_ObjectCategories/scorpion/image_0081.jpg
101_ObjectCategories/sea_horse/
101_ObjectCategories/sea_horse/image_0004.jpg
101_ObjectCategories/sea_horse/image_0005.jpg
101_ObjectCategories/sea_horse/image_0006.jpg
101_ObjectCategories/sea_horse/image_0007.jpg
101_ObjectCategories/sea_horse/image_0008.jpg
101_ObjectCategories/sea_horse/image_0010.jpg
101_ObjectCategories/sea_horse/image_0011.jpg
101_ObjectCategories/sea_horse/image_0012.jpg
101_ObjectCategories/sea_horse/image_0013.jpg
101_ObjectCategories/sea_horse/image_0014.jpg
101_ObjectCategories/sea_horse/image_0016.jpg
101_ObjectCategories/sea_horse/image_0017.jpg
101_ObjectCategories/sea_horse/image_0018.jpg
101_ObjectCategories/sea_horse/image_0019.jpg
101_ObjectCategories/sea_horse/image_0020.jpg
101_ObjectCategories/sea_horse/image_0022.jpg
101_ObjectCategories/sea_horse/image_0023.jpg
101_ObjectCategories/sea_horse/image_0024.jpg
101_ObjectCategories/sea_horse/image_0025.jpg
101_ObjectCategories/sea_horse/image_0026.jpg
101_ObjectCategories/sea_horse/image_0028.jpg
101_ObjectCategories/sea_horse/image_0029.jpg
101_ObjectCategories/sea_horse/image_0030.jpg
101_ObjectCategories/sea_horse/image_0031.jpg
101_ObjectCategories/sea_horse/image_0032.jpg
101_ObjectCategories/sea_horse/image_0034.jpg
101_ObjectCategories/sea_horse/image_0035.jpg
101_ObjectCategories/sea_horse/image_0036.jpg
101_ObjectCategories/sea_horse/image_0037.jpg
101_ObjectCategories/sea_horse/image_0038.jpg
101_ObjectCategories/sea_horse/image_0040.jpg
101_ObjectCategories/sea_horse/image_0041.jpg
101_ObjectCategories/sea_horse/image_0042.jpg
101_ObjectCategories/sea_horse/image_0043.jpg
101_ObjectCategories/sea_horse/image_0044.jpg
101_ObjectCategories/sea_horse/image_0046.jpg
101_ObjectCategories/sea_horse/image_0047.jpg
101_ObjectCategories/sea_horse/image_0048.jpg
101_ObjectCategories/sea_horse/image_0049.jpg
101_ObjectCategories/sea_horse/image_0050.jpg
101_ObjectCategories/sea_horse/image_0052.jpg
101_ObjectCategories/sea_horse/image_0053.jpg
101_ObjectCategories/sea_horse/image_0054.jpg
101_ObjectCategories/sea_horse/image_0055.jpg
101_ObjectCategories/sea_horse/image_0056.jpg
101_ObjectCategories/sea_horse/image_0001.jpg
101_ObjectCategories/sea_horse/image_0002.jpg
101_ObjectCategories/sea_horse/image_0003.jpg
101_ObjectCategories/sea_horse/image_0009.jpg
101_ObjectCategories/sea_horse/image_0015.jpg
101_ObjectCategories/sea_horse/image_0021.jpg
101_ObjectCategories/sea_horse/image_0027.jpg
101_ObjectCategories/sea_horse/image_0033.jpg
101_ObjectCategories/sea_horse/image_0039.jpg
101_ObjectCategories/sea_horse/image_0045.jpg
101_ObjectCategories/sea_horse/image_0051.jpg
101_ObjectCategories/sea_horse/image_0057.jpg
101_ObjectCategories/snoopy/
101_ObjectCategories/snoopy/image_0004.jpg
101_ObjectCategories/snoopy/image_0005.jpg
101_ObjectCategories/snoopy/image_0006.jpg
101_ObjectCategories/snoopy/image_0007.jpg
101_ObjectCategories/snoopy/image_0008.jpg
101_ObjectCategories/snoopy/image_0010.jpg
101_ObjectCategories/snoopy/image_0011.jpg
101_ObjectCategories/snoopy/image_0012.jpg
101_ObjectCategories/snoopy/image_0013.jpg
101_ObjectCategories/snoopy/image_0014.jpg
101_ObjectCategories/snoopy/image_0016.jpg
101_ObjectCategories/snoopy/image_0017.jpg
101_ObjectCategories/snoopy/image_0018.jpg
101_ObjectCategories/snoopy/image_0019.jpg
101_ObjectCategories/snoopy/image_0020.jpg
101_ObjectCategories/snoopy/image_0022.jpg
101_ObjectCategories/snoopy/image_0023.jpg
101_ObjectCategories/snoopy/image_0024.jpg
101_ObjectCategories/snoopy/image_0025.jpg
101_ObjectCategories/snoopy/image_0026.jpg
101_ObjectCategories/snoopy/image_0028.jpg
101_ObjectCategories/snoopy/image_0029.jpg
101_ObjectCategories/snoopy/image_0030.jpg
101_ObjectCategories/snoopy/image_0031.jpg
101_ObjectCategories/snoopy/image_0032.jpg
101_ObjectCategories/snoopy/image_0034.jpg
101_ObjectCategories/snoopy/image_0035.jpg
101_ObjectCategories/snoopy/image_0001.jpg
101_ObjectCategories/snoopy/image_0002.jpg
101_ObjectCategories/snoopy/image_0003.jpg
101_ObjectCategories/snoopy/image_0009.jpg
101_ObjectCategories/snoopy/image_0015.jpg
101_ObjectCategories/snoopy/image_0021.jpg
101_ObjectCategories/snoopy/image_0027.jpg
101_ObjectCategories/snoopy/image_0033.jpg
101_ObjectCategories/soccer_ball/
101_ObjectCategories/soccer_ball/image_0004.jpg
101_ObjectCategories/soccer_ball/image_0005.jpg
101_ObjectCategories/soccer_ball/image_0006.jpg
101_ObjectCategories/soccer_ball/image_0007.jpg
101_ObjectCategories/soccer_ball/image_0008.jpg
101_ObjectCategories/soccer_ball/image_0010.jpg
101_ObjectCategories/soccer_ball/image_0011.jpg
101_ObjectCategories/soccer_ball/image_0012.jpg
101_ObjectCategories/soccer_ball/image_0013.jpg
101_ObjectCategories/soccer_ball/image_0014.jpg
101_ObjectCategories/soccer_ball/image_0016.jpg
101_ObjectCategories/soccer_ball/image_0017.jpg
101_ObjectCategories/soccer_ball/image_0018.jpg
101_ObjectCategories/soccer_ball/image_0019.jpg
101_ObjectCategories/soccer_ball/image_0020.jpg
101_ObjectCategories/soccer_ball/image_0022.jpg
101_ObjectCategories/soccer_ball/image_0023.jpg
101_ObjectCategories/soccer_ball/image_0024.jpg
101_ObjectCategories/soccer_ball/image_0025.jpg
101_ObjectCategories/soccer_ball/image_0026.jpg
101_ObjectCategories/soccer_ball/image_0028.jpg
101_ObjectCategories/soccer_ball/image_0029.jpg
101_ObjectCategories/soccer_ball/image_0030.jpg
101_ObjectCategories/soccer_ball/image_0031.jpg
101_ObjectCategories/soccer_ball/image_0032.jpg
101_ObjectCategories/soccer_ball/image_0034.jpg
101_ObjectCategories/soccer_ball/image_0035.jpg
101_ObjectCategories/soccer_ball/image_0036.jpg
101_ObjectCategories/soccer_ball/image_0037.jpg
101_ObjectCategories/soccer_ball/image_0038.jpg
101_ObjectCategories/soccer_ball/image_0040.jpg
101_ObjectCategories/soccer_ball/image_0041.jpg
101_ObjectCategories/soccer_ball/image_0042.jpg
101_ObjectCategories/soccer_ball/image_0043.jpg
101_ObjectCategories/soccer_ball/image_0044.jpg
101_ObjectCategories/soccer_ball/image_0046.jpg
101_ObjectCategories/soccer_ball/image_0047.jpg
101_ObjectCategories/soccer_ball/image_0048.jpg
101_ObjectCategories/soccer_ball/image_0049.jpg
101_ObjectCategories/soccer_ball/image_0050.jpg
101_ObjectCategories/soccer_ball/image_0052.jpg
101_ObjectCategories/soccer_ball/image_0053.jpg
101_ObjectCategories/soccer_ball/image_0054.jpg
101_ObjectCategories/soccer_ball/image_0055.jpg
101_ObjectCategories/soccer_ball/image_0056.jpg
101_ObjectCategories/soccer_ball/image_0058.jpg
101_ObjectCategories/soccer_ball/image_0059.jpg
101_ObjectCategories/soccer_ball/image_0060.jpg
101_ObjectCategories/soccer_ball/image_0061.jpg
101_ObjectCategories/soccer_ball/image_0062.jpg
101_ObjectCategories/soccer_ball/image_0064.jpg
101_ObjectCategories/soccer_ball/image_0001.jpg
101_ObjectCategories/soccer_ball/image_0002.jpg
101_ObjectCategories/soccer_ball/image_0003.jpg
101_ObjectCategories/soccer_ball/image_0009.jpg
101_ObjectCategories/soccer_ball/image_0015.jpg
101_ObjectCategories/soccer_ball/image_0021.jpg
101_ObjectCategories/soccer_ball/image_0027.jpg
101_ObjectCategories/soccer_ball/image_0033.jpg
101_ObjectCategories/soccer_ball/image_0039.jpg
101_ObjectCategories/soccer_ball/image_0045.jpg
101_ObjectCategories/soccer_ball/image_0051.jpg
101_ObjectCategories/soccer_ball/image_0057.jpg
101_ObjectCategories/soccer_ball/image_0063.jpg
101_ObjectCategories/stapler/
101_ObjectCategories/stapler/image_0004.jpg
101_ObjectCategories/stapler/image_0005.jpg
101_ObjectCategories/stapler/image_0006.jpg
101_ObjectCategories/stapler/image_0007.jpg
101_ObjectCategories/stapler/image_0008.jpg
101_ObjectCategories/stapler/image_0010.jpg
101_ObjectCategories/stapler/image_0011.jpg
101_ObjectCategories/stapler/image_0012.jpg
101_ObjectCategories/stapler/image_0013.jpg
101_ObjectCategories/stapler/image_0014.jpg
101_ObjectCategories/stapler/image_0016.jpg
101_ObjectCategories/stapler/image_0017.jpg
101_ObjectCategories/stapler/image_0018.jpg
101_ObjectCategories/stapler/image_0019.jpg
101_ObjectCategories/stapler/image_0020.jpg
101_ObjectCategories/stapler/image_0022.jpg
101_ObjectCategories/stapler/image_0023.jpg
101_ObjectCategories/stapler/image_0024.jpg
101_ObjectCategories/stapler/image_0025.jpg
101_ObjectCategories/stapler/image_0026.jpg
101_ObjectCategories/stapler/image_0028.jpg
101_ObjectCategories/stapler/image_0029.jpg
101_ObjectCategories/stapler/image_0030.jpg
101_ObjectCategories/stapler/image_0031.jpg
101_ObjectCategories/stapler/image_0032.jpg
101_ObjectCategories/stapler/image_0034.jpg
101_ObjectCategories/stapler/image_0035.jpg
101_ObjectCategories/stapler/image_0036.jpg
101_ObjectCategories/stapler/image_0037.jpg
101_ObjectCategories/stapler/image_0038.jpg
101_ObjectCategories/stapler/image_0040.jpg
101_ObjectCategories/stapler/image_0041.jpg
101_ObjectCategories/stapler/image_0042.jpg
101_ObjectCategories/stapler/image_0043.jpg
101_ObjectCategories/stapler/image_0044.jpg
101_ObjectCategories/stapler/image_0001.jpg
101_ObjectCategories/stapler/image_0002.jpg
101_ObjectCategories/stapler/image_0003.jpg
101_ObjectCategories/stapler/image_0009.jpg
101_ObjectCategories/stapler/image_0015.jpg
101_ObjectCategories/stapler/image_0021.jpg
101_ObjectCategories/stapler/image_0027.jpg
101_ObjectCategories/stapler/image_0033.jpg
101_ObjectCategories/stapler/image_0039.jpg
101_ObjectCategories/stapler/image_0045.jpg
101_ObjectCategories/starfish/
101_ObjectCategories/starfish/image_0004.jpg
101_ObjectCategories/starfish/image_0005.jpg
101_ObjectCategories/starfish/image_0006.jpg
101_ObjectCategories/starfish/image_0007.jpg
101_ObjectCategories/starfish/image_0008.jpg
101_ObjectCategories/starfish/image_0010.jpg
101_ObjectCategories/starfish/image_0011.jpg
101_ObjectCategories/starfish/image_0012.jpg
101_ObjectCategories/starfish/image_0013.jpg
101_ObjectCategories/starfish/image_0014.jpg
101_ObjectCategories/starfish/image_0016.jpg
101_ObjectCategories/starfish/image_0017.jpg
101_ObjectCategories/starfish/image_0018.jpg
101_ObjectCategories/starfish/image_0019.jpg
101_ObjectCategories/starfish/image_0020.jpg
101_ObjectCategories/starfish/image_0022.jpg
101_ObjectCategories/starfish/image_0023.jpg
101_ObjectCategories/starfish/image_0024.jpg
101_ObjectCategories/starfish/image_0025.jpg
101_ObjectCategories/starfish/image_0026.jpg
101_ObjectCategories/starfish/image_0028.jpg
101_ObjectCategories/starfish/image_0029.jpg
101_ObjectCategories/starfish/image_0030.jpg
101_ObjectCategories/starfish/image_0031.jpg
101_ObjectCategories/starfish/image_0032.jpg
101_ObjectCategories/starfish/image_0034.jpg
101_ObjectCategories/starfish/image_0035.jpg
101_ObjectCategories/starfish/image_0036.jpg
101_ObjectCategories/starfish/image_0037.jpg
101_ObjectCategories/starfish/image_0038.jpg
101_ObjectCategories/starfish/image_0040.jpg
101_ObjectCategories/starfish/image_0041.jpg
101_ObjectCategories/starfish/image_0042.jpg
101_ObjectCategories/starfish/image_0043.jpg
101_ObjectCategories/starfish/image_0044.jpg
101_ObjectCategories/starfish/image_0046.jpg
101_ObjectCategories/starfish/image_0047.jpg
101_ObjectCategories/starfish/image_0048.jpg
101_ObjectCategories/starfish/image_0049.jpg
101_ObjectCategories/starfish/image_0050.jpg
101_ObjectCategories/starfish/image_0052.jpg
101_ObjectCategories/starfish/image_0053.jpg
101_ObjectCategories/starfish/image_0054.jpg
101_ObjectCategories/starfish/image_0055.jpg
101_ObjectCategories/starfish/image_0056.jpg
101_ObjectCategories/starfish/image_0058.jpg
101_ObjectCategories/starfish/image_0059.jpg
101_ObjectCategories/starfish/image_0060.jpg
101_ObjectCategories/starfish/image_0061.jpg
101_ObjectCategories/starfish/image_0062.jpg
101_ObjectCategories/starfish/image_0064.jpg
101_ObjectCategories/starfish/image_0065.jpg
101_ObjectCategories/starfish/image_0066.jpg
101_ObjectCategories/starfish/image_0067.jpg
101_ObjectCategories/starfish/image_0068.jpg
101_ObjectCategories/starfish/image_0070.jpg
101_ObjectCategories/starfish/image_0071.jpg
101_ObjectCategories/starfish/image_0072.jpg
101_ObjectCategories/starfish/image_0073.jpg
101_ObjectCategories/starfish/image_0074.jpg
101_ObjectCategories/starfish/image_0076.jpg
101_ObjectCategories/starfish/image_0077.jpg
101_ObjectCategories/starfish/image_0078.jpg
101_ObjectCategories/starfish/image_0079.jpg
101_ObjectCategories/starfish/image_0080.jpg
101_ObjectCategories/starfish/image_0082.jpg
101_ObjectCategories/starfish/image_0083.jpg
101_ObjectCategories/starfish/image_0084.jpg
101_ObjectCategories/starfish/image_0085.jpg
101_ObjectCategories/starfish/image_0086.jpg
101_ObjectCategories/starfish/image_0001.jpg
101_ObjectCategories/starfish/image_0002.jpg
101_ObjectCategories/starfish/image_0003.jpg
101_ObjectCategories/starfish/image_0009.jpg
101_ObjectCategories/starfish/image_0015.jpg
101_ObjectCategories/starfish/image_0021.jpg
101_ObjectCategories/starfish/image_0027.jpg
101_ObjectCategories/starfish/image_0033.jpg
101_ObjectCategories/starfish/image_0039.jpg
101_ObjectCategories/starfish/image_0045.jpg
101_ObjectCategories/starfish/image_0051.jpg
101_ObjectCategories/starfish/image_0057.jpg
101_ObjectCategories/starfish/image_0063.jpg
101_ObjectCategories/starfish/image_0069.jpg
101_ObjectCategories/starfish/image_0075.jpg
101_ObjectCategories/starfish/image_0081.jpg
101_ObjectCategories/stegosaurus/
101_ObjectCategories/stegosaurus/image_0004.jpg
101_ObjectCategories/stegosaurus/image_0005.jpg
101_ObjectCategories/stegosaurus/image_0006.jpg
101_ObjectCategories/stegosaurus/image_0007.jpg
101_ObjectCategories/stegosaurus/image_0008.jpg
101_ObjectCategories/stegosaurus/image_0010.jpg
101_ObjectCategories/stegosaurus/image_0011.jpg
101_ObjectCategories/stegosaurus/image_0012.jpg
101_ObjectCategories/stegosaurus/image_0013.jpg
101_ObjectCategories/stegosaurus/image_0014.jpg
101_ObjectCategories/stegosaurus/image_0016.jpg
101_ObjectCategories/stegosaurus/image_0017.jpg
101_ObjectCategories/stegosaurus/image_0018.jpg
101_ObjectCategories/stegosaurus/image_0019.jpg
101_ObjectCategories/stegosaurus/image_0020.jpg
101_ObjectCategories/stegosaurus/image_0022.jpg
101_ObjectCategories/stegosaurus/image_0023.jpg
101_ObjectCategories/stegosaurus/image_0024.jpg
101_ObjectCategories/stegosaurus/image_0025.jpg
101_ObjectCategories/stegosaurus/image_0026.jpg
101_ObjectCategories/stegosaurus/image_0028.jpg
101_ObjectCategories/stegosaurus/image_0029.jpg
101_ObjectCategories/stegosaurus/image_0030.jpg
101_ObjectCategories/stegosaurus/image_0031.jpg
101_ObjectCategories/stegosaurus/image_0032.jpg
101_ObjectCategories/stegosaurus/image_0034.jpg
101_ObjectCategories/stegosaurus/image_0035.jpg
101_ObjectCategories/stegosaurus/image_0036.jpg
101_ObjectCategories/stegosaurus/image_0037.jpg
101_ObjectCategories/stegosaurus/image_0038.jpg
101_ObjectCategories/stegosaurus/image_0040.jpg
101_ObjectCategories/stegosaurus/image_0041.jpg
101_ObjectCategories/stegosaurus/image_0042.jpg
101_ObjectCategories/stegosaurus/image_0043.jpg
101_ObjectCategories/stegosaurus/image_0044.jpg
101_ObjectCategories/stegosaurus/image_0046.jpg
101_ObjectCategories/stegosaurus/image_0047.jpg
101_ObjectCategories/stegosaurus/image_0048.jpg
101_ObjectCategories/stegosaurus/image_0049.jpg
101_ObjectCategories/stegosaurus/image_0050.jpg
101_ObjectCategories/stegosaurus/image_0052.jpg
101_ObjectCategories/stegosaurus/image_0053.jpg
101_ObjectCategories/stegosaurus/image_0054.jpg
101_ObjectCategories/stegosaurus/image_0055.jpg
101_ObjectCategories/stegosaurus/image_0056.jpg
101_ObjectCategories/stegosaurus/image_0058.jpg
101_ObjectCategories/stegosaurus/image_0059.jpg
101_ObjectCategories/stegosaurus/image_0001.jpg
101_ObjectCategories/stegosaurus/image_0002.jpg
101_ObjectCategories/stegosaurus/image_0003.jpg
101_ObjectCategories/stegosaurus/image_0009.jpg
101_ObjectCategories/stegosaurus/image_0015.jpg
101_ObjectCategories/stegosaurus/image_0021.jpg
101_ObjectCategories/stegosaurus/image_0027.jpg
101_ObjectCategories/stegosaurus/image_0033.jpg
101_ObjectCategories/stegosaurus/image_0039.jpg
101_ObjectCategories/stegosaurus/image_0045.jpg
101_ObjectCategories/stegosaurus/image_0051.jpg
101_ObjectCategories/stegosaurus/image_0057.jpg
101_ObjectCategories/stop_sign/
101_ObjectCategories/stop_sign/image_0004.jpg
101_ObjectCategories/stop_sign/image_0005.jpg
101_ObjectCategories/stop_sign/image_0006.jpg
101_ObjectCategories/stop_sign/image_0007.jpg
101_ObjectCategories/stop_sign/image_0008.jpg
101_ObjectCategories/stop_sign/image_0010.jpg
101_ObjectCategories/stop_sign/image_0011.jpg
101_ObjectCategories/stop_sign/image_0012.jpg
101_ObjectCategories/stop_sign/image_0013.jpg
101_ObjectCategories/stop_sign/image_0014.jpg
101_ObjectCategories/stop_sign/image_0016.jpg
101_ObjectCategories/stop_sign/image_0017.jpg
101_ObjectCategories/stop_sign/image_0018.jpg
101_ObjectCategories/stop_sign/image_0019.jpg
101_ObjectCategories/stop_sign/image_0020.jpg
101_ObjectCategories/stop_sign/image_0022.jpg
101_ObjectCategories/stop_sign/image_0023.jpg
101_ObjectCategories/stop_sign/image_0024.jpg
101_ObjectCategories/stop_sign/image_0025.jpg
101_ObjectCategories/stop_sign/image_0026.jpg
101_ObjectCategories/stop_sign/image_0028.jpg
101_ObjectCategories/stop_sign/image_0029.jpg
101_ObjectCategories/stop_sign/image_0030.jpg
101_ObjectCategories/stop_sign/image_0031.jpg
101_ObjectCategories/stop_sign/image_0032.jpg
101_ObjectCategories/stop_sign/image_0034.jpg
101_ObjectCategories/stop_sign/image_0035.jpg
101_ObjectCategories/stop_sign/image_0036.jpg
101_ObjectCategories/stop_sign/image_0037.jpg
101_ObjectCategories/stop_sign/image_0038.jpg
101_ObjectCategories/stop_sign/image_0040.jpg
101_ObjectCategories/stop_sign/image_0041.jpg
101_ObjectCategories/stop_sign/image_0042.jpg
101_ObjectCategories/stop_sign/image_0043.jpg
101_ObjectCategories/stop_sign/image_0044.jpg
101_ObjectCategories/stop_sign/image_0046.jpg
101_ObjectCategories/stop_sign/image_0047.jpg
101_ObjectCategories/stop_sign/image_0048.jpg
101_ObjectCategories/stop_sign/image_0049.jpg
101_ObjectCategories/stop_sign/image_0050.jpg
101_ObjectCategories/stop_sign/image_0052.jpg
101_ObjectCategories/stop_sign/image_0053.jpg
101_ObjectCategories/stop_sign/image_0054.jpg
101_ObjectCategories/stop_sign/image_0055.jpg
101_ObjectCategories/stop_sign/image_0056.jpg
101_ObjectCategories/stop_sign/image_0058.jpg
101_ObjectCategories/stop_sign/image_0059.jpg
101_ObjectCategories/stop_sign/image_0060.jpg
101_ObjectCategories/stop_sign/image_0061.jpg
101_ObjectCategories/stop_sign/image_0062.jpg
101_ObjectCategories/stop_sign/image_0064.jpg
101_ObjectCategories/stop_sign/image_0001.jpg
101_ObjectCategories/stop_sign/image_0002.jpg
101_ObjectCategories/stop_sign/image_0003.jpg
101_ObjectCategories/stop_sign/image_0009.jpg
101_ObjectCategories/stop_sign/image_0015.jpg
101_ObjectCategories/stop_sign/image_0021.jpg
101_ObjectCategories/stop_sign/image_0027.jpg
101_ObjectCategories/stop_sign/image_0033.jpg
101_ObjectCategories/stop_sign/image_0039.jpg
101_ObjectCategories/stop_sign/image_0045.jpg
101_ObjectCategories/stop_sign/image_0051.jpg
101_ObjectCategories/stop_sign/image_0057.jpg
101_ObjectCategories/stop_sign/image_0063.jpg
101_ObjectCategories/strawberry/
101_ObjectCategories/strawberry/image_0004.jpg
101_ObjectCategories/strawberry/image_0005.jpg
101_ObjectCategories/strawberry/image_0006.jpg
101_ObjectCategories/strawberry/image_0007.jpg
101_ObjectCategories/strawberry/image_0008.jpg
101_ObjectCategories/strawberry/image_0010.jpg
101_ObjectCategories/strawberry/image_0011.jpg
101_ObjectCategories/strawberry/image_0012.jpg
101_ObjectCategories/strawberry/image_0013.jpg
101_ObjectCategories/strawberry/image_0014.jpg
101_ObjectCategories/strawberry/image_0016.jpg
101_ObjectCategories/strawberry/image_0017.jpg
101_ObjectCategories/strawberry/image_0018.jpg
101_ObjectCategories/strawberry/image_0019.jpg
101_ObjectCategories/strawberry/image_0020.jpg
101_ObjectCategories/strawberry/image_0022.jpg
101_ObjectCategories/strawberry/image_0023.jpg
101_ObjectCategories/strawberry/image_0024.jpg
101_ObjectCategories/strawberry/image_0025.jpg
101_ObjectCategories/strawberry/image_0026.jpg
101_ObjectCategories/strawberry/image_0028.jpg
101_ObjectCategories/strawberry/image_0029.jpg
101_ObjectCategories/strawberry/image_0030.jpg
101_ObjectCategories/strawberry/image_0031.jpg
101_ObjectCategories/strawberry/image_0032.jpg
101_ObjectCategories/strawberry/image_0034.jpg
101_ObjectCategories/strawberry/image_0035.jpg
101_ObjectCategories/strawberry/image_0001.jpg
101_ObjectCategories/strawberry/image_0002.jpg
101_ObjectCategories/strawberry/image_0003.jpg
101_ObjectCategories/strawberry/image_0009.jpg
101_ObjectCategories/strawberry/image_0015.jpg
101_ObjectCategories/strawberry/image_0021.jpg
101_ObjectCategories/strawberry/image_0027.jpg
101_ObjectCategories/strawberry/image_0033.jpg
101_ObjectCategories/sunflower/
101_ObjectCategories/sunflower/image_0004.jpg
101_ObjectCategories/sunflower/image_0005.jpg
101_ObjectCategories/sunflower/image_0006.jpg
101_ObjectCategories/sunflower/image_0007.jpg
101_ObjectCategories/sunflower/image_0008.jpg
101_ObjectCategories/sunflower/image_0010.jpg
101_ObjectCategories/sunflower/image_0011.jpg
101_ObjectCategories/sunflower/image_0012.jpg
101_ObjectCategories/sunflower/image_0013.jpg
101_ObjectCategories/sunflower/image_0014.jpg
101_ObjectCategories/sunflower/image_0016.jpg
101_ObjectCategories/sunflower/image_0017.jpg
101_ObjectCategories/sunflower/image_0018.jpg
101_ObjectCategories/sunflower/image_0019.jpg
101_ObjectCategories/sunflower/image_0020.jpg
101_ObjectCategories/sunflower/image_0022.jpg
101_ObjectCategories/sunflower/image_0023.jpg
101_ObjectCategories/sunflower/image_0024.jpg
101_ObjectCategories/sunflower/image_0025.jpg
101_ObjectCategories/sunflower/image_0026.jpg
101_ObjectCategories/sunflower/image_0028.jpg
101_ObjectCategories/sunflower/image_0029.jpg
101_ObjectCategories/sunflower/image_0030.jpg
101_ObjectCategories/sunflower/image_0031.jpg
101_ObjectCategories/sunflower/image_0032.jpg
101_ObjectCategories/sunflower/image_0034.jpg
101_ObjectCategories/sunflower/image_0035.jpg
101_ObjectCategories/sunflower/image_0036.jpg
101_ObjectCategories/sunflower/image_0037.jpg
101_ObjectCategories/sunflower/image_0038.jpg
101_ObjectCategories/sunflower/image_0040.jpg
101_ObjectCategories/sunflower/image_0041.jpg
101_ObjectCategories/sunflower/image_0042.jpg
101_ObjectCategories/sunflower/image_0043.jpg
101_ObjectCategories/sunflower/image_0044.jpg
101_ObjectCategories/sunflower/image_0046.jpg
101_ObjectCategories/sunflower/image_0047.jpg
101_ObjectCategories/sunflower/image_0048.jpg
101_ObjectCategories/sunflower/image_0049.jpg
101_ObjectCategories/sunflower/image_0050.jpg
101_ObjectCategories/sunflower/image_0052.jpg
101_ObjectCategories/sunflower/image_0053.jpg
101_ObjectCategories/sunflower/image_0054.jpg
101_ObjectCategories/sunflower/image_0055.jpg
101_ObjectCategories/sunflower/image_0056.jpg
101_ObjectCategories/sunflower/image_0058.jpg
101_ObjectCategories/sunflower/image_0059.jpg
101_ObjectCategories/sunflower/image_0060.jpg
101_ObjectCategories/sunflower/image_0061.jpg
101_ObjectCategories/sunflower/image_0062.jpg
101_ObjectCategories/sunflower/image_0064.jpg
101_ObjectCategories/sunflower/image_0065.jpg
101_ObjectCategories/sunflower/image_0066.jpg
101_ObjectCategories/sunflower/image_0067.jpg
101_ObjectCategories/sunflower/image_0068.jpg
101_ObjectCategories/sunflower/image_0070.jpg
101_ObjectCategories/sunflower/image_0071.jpg
101_ObjectCategories/sunflower/image_0072.jpg
101_ObjectCategories/sunflower/image_0073.jpg
101_ObjectCategories/sunflower/image_0074.jpg
101_ObjectCategories/sunflower/image_0076.jpg
101_ObjectCategories/sunflower/image_0077.jpg
101_ObjectCategories/sunflower/image_0078.jpg
101_ObjectCategories/sunflower/image_0079.jpg
101_ObjectCategories/sunflower/image_0080.jpg
101_ObjectCategories/sunflower/image_0082.jpg
101_ObjectCategories/sunflower/image_0083.jpg
101_ObjectCategories/sunflower/image_0084.jpg
101_ObjectCategories/sunflower/image_0085.jpg
101_ObjectCategories/sunflower/image_0001.jpg
101_ObjectCategories/sunflower/image_0002.jpg
101_ObjectCategories/sunflower/image_0003.jpg
101_ObjectCategories/sunflower/image_0009.jpg
101_ObjectCategories/sunflower/image_0015.jpg
101_ObjectCategories/sunflower/image_0021.jpg
101_ObjectCategories/sunflower/image_0027.jpg
101_ObjectCategories/sunflower/image_0033.jpg
101_ObjectCategories/sunflower/image_0039.jpg
101_ObjectCategories/sunflower/image_0045.jpg
101_ObjectCategories/sunflower/image_0051.jpg
101_ObjectCategories/sunflower/image_0057.jpg
101_ObjectCategories/sunflower/image_0063.jpg
101_ObjectCategories/sunflower/image_0069.jpg
101_ObjectCategories/sunflower/image_0075.jpg
101_ObjectCategories/sunflower/image_0081.jpg
101_ObjectCategories/tick/
101_ObjectCategories/tick/image_0004.jpg
101_ObjectCategories/tick/image_0005.jpg
101_ObjectCategories/tick/image_0006.jpg
101_ObjectCategories/tick/image_0007.jpg
101_ObjectCategories/tick/image_0008.jpg
101_ObjectCategories/tick/image_0010.jpg
101_ObjectCategories/tick/image_0011.jpg
101_ObjectCategories/tick/image_0012.jpg
101_ObjectCategories/tick/image_0013.jpg
101_ObjectCategories/tick/image_0014.jpg
101_ObjectCategories/tick/image_0016.jpg
101_ObjectCategories/tick/image_0017.jpg
101_ObjectCategories/tick/image_0018.jpg
101_ObjectCategories/tick/image_0019.jpg
101_ObjectCategories/tick/image_0020.jpg
101_ObjectCategories/tick/image_0022.jpg
101_ObjectCategories/tick/image_0023.jpg
101_ObjectCategories/tick/image_0024.jpg
101_ObjectCategories/tick/image_0025.jpg
101_ObjectCategories/tick/image_0026.jpg
101_ObjectCategories/tick/image_0028.jpg
101_ObjectCategories/tick/image_0029.jpg
101_ObjectCategories/tick/image_0030.jpg
101_ObjectCategories/tick/image_0031.jpg
101_ObjectCategories/tick/image_0032.jpg
101_ObjectCategories/tick/image_0034.jpg
101_ObjectCategories/tick/image_0035.jpg
101_ObjectCategories/tick/image_0036.jpg
101_ObjectCategories/tick/image_0037.jpg
101_ObjectCategories/tick/image_0038.jpg
101_ObjectCategories/tick/image_0040.jpg
101_ObjectCategories/tick/image_0041.jpg
101_ObjectCategories/tick/image_0042.jpg
101_ObjectCategories/tick/image_0043.jpg
101_ObjectCategories/tick/image_0044.jpg
101_ObjectCategories/tick/image_0046.jpg
101_ObjectCategories/tick/image_0047.jpg
101_ObjectCategories/tick/image_0048.jpg
101_ObjectCategories/tick/image_0049.jpg
101_ObjectCategories/tick/image_0001.jpg
101_ObjectCategories/tick/image_0002.jpg
101_ObjectCategories/tick/image_0003.jpg
101_ObjectCategories/tick/image_0009.jpg
101_ObjectCategories/tick/image_0015.jpg
101_ObjectCategories/tick/image_0021.jpg
101_ObjectCategories/tick/image_0027.jpg
101_ObjectCategories/tick/image_0033.jpg
101_ObjectCategories/tick/image_0039.jpg
101_ObjectCategories/tick/image_0045.jpg
101_ObjectCategories/trilobite/
101_ObjectCategories/trilobite/image_0004.jpg
101_ObjectCategories/trilobite/image_0005.jpg
101_ObjectCategories/trilobite/image_0006.jpg
101_ObjectCategories/trilobite/image_0007.jpg
101_ObjectCategories/trilobite/image_0008.jpg
101_ObjectCategories/trilobite/image_0010.jpg
101_ObjectCategories/trilobite/image_0011.jpg
101_ObjectCategories/trilobite/image_0012.jpg
101_ObjectCategories/trilobite/image_0013.jpg
101_ObjectCategories/trilobite/image_0014.jpg
101_ObjectCategories/trilobite/image_0016.jpg
101_ObjectCategories/trilobite/image_0017.jpg
101_ObjectCategories/trilobite/image_0018.jpg
101_ObjectCategories/trilobite/image_0019.jpg
101_ObjectCategories/trilobite/image_0020.jpg
101_ObjectCategories/trilobite/image_0022.jpg
101_ObjectCategories/trilobite/image_0023.jpg
101_ObjectCategories/trilobite/image_0024.jpg
101_ObjectCategories/trilobite/image_0025.jpg
101_ObjectCategories/trilobite/image_0026.jpg
101_ObjectCategories/trilobite/image_0028.jpg
101_ObjectCategories/trilobite/image_0029.jpg
101_ObjectCategories/trilobite/image_0030.jpg
101_ObjectCategories/trilobite/image_0031.jpg
101_ObjectCategories/trilobite/image_0032.jpg
101_ObjectCategories/trilobite/image_0034.jpg
101_ObjectCategories/trilobite/image_0035.jpg
101_ObjectCategories/trilobite/image_0036.jpg
101_ObjectCategories/trilobite/image_0037.jpg
101_ObjectCategories/trilobite/image_0038.jpg
101_ObjectCategories/trilobite/image_0040.jpg
101_ObjectCategories/trilobite/image_0041.jpg
101_ObjectCategories/trilobite/image_0042.jpg
101_ObjectCategories/trilobite/image_0043.jpg
101_ObjectCategories/trilobite/image_0044.jpg
101_ObjectCategories/trilobite/image_0046.jpg
101_ObjectCategories/trilobite/image_0047.jpg
101_ObjectCategories/trilobite/image_0048.jpg
101_ObjectCategories/trilobite/image_0049.jpg
101_ObjectCategories/trilobite/image_0050.jpg
101_ObjectCategories/trilobite/image_0052.jpg
101_ObjectCategories/trilobite/image_0053.jpg
101_ObjectCategories/trilobite/image_0054.jpg
101_ObjectCategories/trilobite/image_0055.jpg
101_ObjectCategories/trilobite/image_0056.jpg
101_ObjectCategories/trilobite/image_0058.jpg
101_ObjectCategories/trilobite/image_0059.jpg
101_ObjectCategories/trilobite/image_0060.jpg
101_ObjectCategories/trilobite/image_0061.jpg
101_ObjectCategories/trilobite/image_0062.jpg
101_ObjectCategories/trilobite/image_0064.jpg
101_ObjectCategories/trilobite/image_0065.jpg
101_ObjectCategories/trilobite/image_0066.jpg
101_ObjectCategories/trilobite/image_0067.jpg
101_ObjectCategories/trilobite/image_0068.jpg
101_ObjectCategories/trilobite/image_0070.jpg
101_ObjectCategories/trilobite/image_0071.jpg
101_ObjectCategories/trilobite/image_0072.jpg
101_ObjectCategories/trilobite/image_0073.jpg
101_ObjectCategories/trilobite/image_0074.jpg
101_ObjectCategories/trilobite/image_0076.jpg
101_ObjectCategories/trilobite/image_0077.jpg
101_ObjectCategories/trilobite/image_0078.jpg
101_ObjectCategories/trilobite/image_0079.jpg
101_ObjectCategories/trilobite/image_0080.jpg
101_ObjectCategories/trilobite/image_0082.jpg
101_ObjectCategories/trilobite/image_0083.jpg
101_ObjectCategories/trilobite/image_0084.jpg
101_ObjectCategories/trilobite/image_0085.jpg
101_ObjectCategories/trilobite/image_0086.jpg
101_ObjectCategories/trilobite/image_0001.jpg
101_ObjectCategories/trilobite/image_0002.jpg
101_ObjectCategories/trilobite/image_0003.jpg
101_ObjectCategories/trilobite/image_0009.jpg
101_ObjectCategories/trilobite/image_0015.jpg
101_ObjectCategories/trilobite/image_0021.jpg
101_ObjectCategories/trilobite/image_0027.jpg
101_ObjectCategories/trilobite/image_0033.jpg
101_ObjectCategories/trilobite/image_0039.jpg
101_ObjectCategories/trilobite/image_0045.jpg
101_ObjectCategories/trilobite/image_0051.jpg
101_ObjectCategories/trilobite/image_0057.jpg
101_ObjectCategories/trilobite/image_0063.jpg
101_ObjectCategories/trilobite/image_0069.jpg
101_ObjectCategories/trilobite/image_0075.jpg
101_ObjectCategories/trilobite/image_0081.jpg
101_ObjectCategories/umbrella/
101_ObjectCategories/umbrella/image_0004.jpg
101_ObjectCategories/umbrella/image_0005.jpg
101_ObjectCategories/umbrella/image_0006.jpg
101_ObjectCategories/umbrella/image_0007.jpg
101_ObjectCategories/umbrella/image_0008.jpg
101_ObjectCategories/umbrella/image_0010.jpg
101_ObjectCategories/umbrella/image_0011.jpg
101_ObjectCategories/umbrella/image_0012.jpg
101_ObjectCategories/umbrella/image_0013.jpg
101_ObjectCategories/umbrella/image_0014.jpg
101_ObjectCategories/umbrella/image_0016.jpg
101_ObjectCategories/umbrella/image_0017.jpg
101_ObjectCategories/umbrella/image_0018.jpg
101_ObjectCategories/umbrella/image_0019.jpg
101_ObjectCategories/umbrella/image_0020.jpg
101_ObjectCategories/umbrella/image_0022.jpg
101_ObjectCategories/umbrella/image_0023.jpg
101_ObjectCategories/umbrella/image_0024.jpg
101_ObjectCategories/umbrella/image_0025.jpg
101_ObjectCategories/umbrella/image_0026.jpg
101_ObjectCategories/umbrella/image_0028.jpg
101_ObjectCategories/umbrella/image_0029.jpg
101_ObjectCategories/umbrella/image_0030.jpg
101_ObjectCategories/umbrella/image_0031.jpg
101_ObjectCategories/umbrella/image_0032.jpg
101_ObjectCategories/umbrella/image_0034.jpg
101_ObjectCategories/umbrella/image_0035.jpg
101_ObjectCategories/umbrella/image_0036.jpg
101_ObjectCategories/umbrella/image_0037.jpg
101_ObjectCategories/umbrella/image_0038.jpg
101_ObjectCategories/umbrella/image_0040.jpg
101_ObjectCategories/umbrella/image_0041.jpg
101_ObjectCategories/umbrella/image_0042.jpg
101_ObjectCategories/umbrella/image_0043.jpg
101_ObjectCategories/umbrella/image_0044.jpg
101_ObjectCategories/umbrella/image_0046.jpg
101_ObjectCategories/umbrella/image_0047.jpg
101_ObjectCategories/umbrella/image_0048.jpg
101_ObjectCategories/umbrella/image_0049.jpg
101_ObjectCategories/umbrella/image_0050.jpg
101_ObjectCategories/umbrella/image_0052.jpg
101_ObjectCategories/umbrella/image_0053.jpg
101_ObjectCategories/umbrella/image_0054.jpg
101_ObjectCategories/umbrella/image_0055.jpg
101_ObjectCategories/umbrella/image_0056.jpg
101_ObjectCategories/umbrella/image_0058.jpg
101_ObjectCategories/umbrella/image_0059.jpg
101_ObjectCategories/umbrella/image_0060.jpg
101_ObjectCategories/umbrella/image_0061.jpg
101_ObjectCategories/umbrella/image_0062.jpg
101_ObjectCategories/umbrella/image_0064.jpg
101_ObjectCategories/umbrella/image_0065.jpg
101_ObjectCategories/umbrella/image_0066.jpg
101_ObjectCategories/umbrella/image_0067.jpg
101_ObjectCategories/umbrella/image_0068.jpg
101_ObjectCategories/umbrella/image_0070.jpg
101_ObjectCategories/umbrella/image_0071.jpg
101_ObjectCategories/umbrella/image_0072.jpg
101_ObjectCategories/umbrella/image_0073.jpg
101_ObjectCategories/umbrella/image_0074.jpg
101_ObjectCategories/umbrella/image_0001.jpg
101_ObjectCategories/umbrella/image_0002.jpg
101_ObjectCategories/umbrella/image_0003.jpg
101_ObjectCategories/umbrella/image_0009.jpg
101_ObjectCategories/umbrella/image_0015.jpg
101_ObjectCategories/umbrella/image_0021.jpg
101_ObjectCategories/umbrella/image_0027.jpg
101_ObjectCategories/umbrella/image_0033.jpg
101_ObjectCategories/umbrella/image_0039.jpg
101_ObjectCategories/umbrella/image_0045.jpg
101_ObjectCategories/umbrella/image_0051.jpg
101_ObjectCategories/umbrella/image_0057.jpg
101_ObjectCategories/umbrella/image_0063.jpg
101_ObjectCategories/umbrella/image_0069.jpg
101_ObjectCategories/umbrella/image_0075.jpg
101_ObjectCategories/watch/
101_ObjectCategories/watch/image_0004.jpg
101_ObjectCategories/watch/image_0005.jpg
101_ObjectCategories/watch/image_0006.jpg
101_ObjectCategories/watch/image_0007.jpg
101_ObjectCategories/watch/image_0008.jpg
101_ObjectCategories/watch/image_0010.jpg
101_ObjectCategories/watch/image_0011.jpg
101_ObjectCategories/watch/image_0012.jpg
101_ObjectCategories/watch/image_0013.jpg
101_ObjectCategories/watch/image_0014.jpg
101_ObjectCategories/watch/image_0016.jpg
101_ObjectCategories/watch/image_0017.jpg
101_ObjectCategories/watch/image_0018.jpg
101_ObjectCategories/watch/image_0019.jpg
101_ObjectCategories/watch/image_0020.jpg
101_ObjectCategories/watch/image_0022.jpg
101_ObjectCategories/watch/image_0023.jpg
101_ObjectCategories/watch/image_0024.jpg
101_ObjectCategories/watch/image_0025.jpg
101_ObjectCategories/watch/image_0026.jpg
101_ObjectCategories/watch/image_0028.jpg
101_ObjectCategories/watch/image_0029.jpg
101_ObjectCategories/watch/image_0030.jpg
101_ObjectCategories/watch/image_0031.jpg
101_ObjectCategories/watch/image_0032.jpg
101_ObjectCategories/watch/image_0034.jpg
101_ObjectCategories/watch/image_0035.jpg
101_ObjectCategories/watch/image_0036.jpg
101_ObjectCategories/watch/image_0037.jpg
101_ObjectCategories/watch/image_0038.jpg
101_ObjectCategories/watch/image_0040.jpg
101_ObjectCategories/watch/image_0041.jpg
101_ObjectCategories/watch/image_0042.jpg
101_ObjectCategories/watch/image_0043.jpg
101_ObjectCategories/watch/image_0044.jpg
101_ObjectCategories/watch/image_0046.jpg
101_ObjectCategories/watch/image_0047.jpg
101_ObjectCategories/watch/image_0048.jpg
101_ObjectCategories/watch/image_0049.jpg
101_ObjectCategories/watch/image_0050.jpg
101_ObjectCategories/watch/image_0052.jpg
101_ObjectCategories/watch/image_0053.jpg
101_ObjectCategories/watch/image_0054.jpg
101_ObjectCategories/watch/image_0055.jpg
101_ObjectCategories/watch/image_0056.jpg
101_ObjectCategories/watch/image_0058.jpg
101_ObjectCategories/watch/image_0059.jpg
101_ObjectCategories/watch/image_0060.jpg
101_ObjectCategories/watch/image_0061.jpg
101_ObjectCategories/watch/image_0062.jpg
101_ObjectCategories/watch/image_0064.jpg
101_ObjectCategories/watch/image_0065.jpg
101_ObjectCategories/watch/image_0066.jpg
101_ObjectCategories/watch/image_0067.jpg
101_ObjectCategories/watch/image_0068.jpg
101_ObjectCategories/watch/image_0070.jpg
101_ObjectCategories/watch/image_0071.jpg
101_ObjectCategories/watch/image_0072.jpg
101_ObjectCategories/watch/image_0073.jpg
101_ObjectCategories/watch/image_0074.jpg
101_ObjectCategories/watch/image_0076.jpg
101_ObjectCategories/watch/image_0077.jpg
101_ObjectCategories/watch/image_0078.jpg
101_ObjectCategories/watch/image_0079.jpg
101_ObjectCategories/watch/image_0080.jpg
101_ObjectCategories/watch/image_0082.jpg
101_ObjectCategories/watch/image_0083.jpg
101_ObjectCategories/watch/image_0084.jpg
101_ObjectCategories/watch/image_0085.jpg
101_ObjectCategories/watch/image_0086.jpg
101_ObjectCategories/watch/image_0088.jpg
101_ObjectCategories/watch/image_0089.jpg
101_ObjectCategories/watch/image_0090.jpg
101_ObjectCategories/watch/image_0091.jpg
101_ObjectCategories/watch/image_0092.jpg
101_ObjectCategories/watch/image_0094.jpg
101_ObjectCategories/watch/image_0095.jpg
101_ObjectCategories/watch/image_0096.jpg
101_ObjectCategories/watch/image_0097.jpg
101_ObjectCategories/watch/image_0098.jpg
101_ObjectCategories/watch/image_0100.jpg
101_ObjectCategories/watch/image_0101.jpg
101_ObjectCategories/watch/image_0102.jpg
101_ObjectCategories/watch/image_0103.jpg
101_ObjectCategories/watch/image_0104.jpg
101_ObjectCategories/watch/image_0106.jpg
101_ObjectCategories/watch/image_0107.jpg
101_ObjectCategories/watch/image_0108.jpg
101_ObjectCategories/watch/image_0109.jpg
101_ObjectCategories/watch/image_0110.jpg
101_ObjectCategories/watch/image_0112.jpg
101_ObjectCategories/watch/image_0113.jpg
101_ObjectCategories/watch/image_0114.jpg
101_ObjectCategories/watch/image_0115.jpg
101_ObjectCategories/watch/image_0116.jpg
101_ObjectCategories/watch/image_0118.jpg
101_ObjectCategories/watch/image_0119.jpg
101_ObjectCategories/watch/image_0120.jpg
101_ObjectCategories/watch/image_0121.jpg
101_ObjectCategories/watch/image_0122.jpg
101_ObjectCategories/watch/image_0124.jpg
101_ObjectCategories/watch/image_0125.jpg
101_ObjectCategories/watch/image_0126.jpg
101_ObjectCategories/watch/image_0127.jpg
101_ObjectCategories/watch/image_0128.jpg
101_ObjectCategories/watch/image_0130.jpg
101_ObjectCategories/watch/image_0131.jpg
101_ObjectCategories/watch/image_0132.jpg
101_ObjectCategories/watch/image_0133.jpg
101_ObjectCategories/watch/image_0134.jpg
101_ObjectCategories/watch/image_0136.jpg
101_ObjectCategories/watch/image_0137.jpg
101_ObjectCategories/watch/image_0138.jpg
101_ObjectCategories/watch/image_0139.jpg
101_ObjectCategories/watch/image_0140.jpg
101_ObjectCategories/watch/image_0142.jpg
101_ObjectCategories/watch/image_0143.jpg
101_ObjectCategories/watch/image_0144.jpg
101_ObjectCategories/watch/image_0145.jpg
101_ObjectCategories/watch/image_0146.jpg
101_ObjectCategories/watch/image_0148.jpg
101_ObjectCategories/watch/image_0149.jpg
101_ObjectCategories/watch/image_0150.jpg
101_ObjectCategories/watch/image_0151.jpg
101_ObjectCategories/watch/image_0152.jpg
101_ObjectCategories/watch/image_0154.jpg
101_ObjectCategories/watch/image_0155.jpg
101_ObjectCategories/watch/image_0156.jpg
101_ObjectCategories/watch/image_0157.jpg
101_ObjectCategories/watch/image_0158.jpg
101_ObjectCategories/watch/image_0160.jpg
101_ObjectCategories/watch/image_0161.jpg
101_ObjectCategories/watch/image_0162.jpg
101_ObjectCategories/watch/image_0163.jpg
101_ObjectCategories/watch/image_0164.jpg
101_ObjectCategories/watch/image_0166.jpg
101_ObjectCategories/watch/image_0167.jpg
101_ObjectCategories/watch/image_0168.jpg
101_ObjectCategories/watch/image_0169.jpg
101_ObjectCategories/watch/image_0170.jpg
101_ObjectCategories/watch/image_0172.jpg
101_ObjectCategories/watch/image_0173.jpg
101_ObjectCategories/watch/image_0174.jpg
101_ObjectCategories/watch/image_0175.jpg
101_ObjectCategories/watch/image_0176.jpg
101_ObjectCategories/watch/image_0178.jpg
101_ObjectCategories/watch/image_0179.jpg
101_ObjectCategories/watch/image_0180.jpg
101_ObjectCategories/watch/image_0181.jpg
101_ObjectCategories/watch/image_0182.jpg
101_ObjectCategories/watch/image_0184.jpg
101_ObjectCategories/watch/image_0185.jpg
101_ObjectCategories/watch/image_0186.jpg
101_ObjectCategories/watch/image_0187.jpg
101_ObjectCategories/watch/image_0188.jpg
101_ObjectCategories/watch/image_0190.jpg
101_ObjectCategories/watch/image_0191.jpg
101_ObjectCategories/watch/image_0192.jpg
101_ObjectCategories/watch/image_0193.jpg
101_ObjectCategories/watch/image_0194.jpg
101_ObjectCategories/watch/image_0196.jpg
101_ObjectCategories/watch/image_0197.jpg
101_ObjectCategories/watch/image_0198.jpg
101_ObjectCategories/watch/image_0199.jpg
101_ObjectCategories/watch/image_0200.jpg
101_ObjectCategories/watch/image_0202.jpg
101_ObjectCategories/watch/image_0203.jpg
101_ObjectCategories/watch/image_0204.jpg
101_ObjectCategories/watch/image_0205.jpg
101_ObjectCategories/watch/image_0207.jpg
101_ObjectCategories/watch/image_0208.jpg
101_ObjectCategories/watch/image_0209.jpg
101_ObjectCategories/watch/image_0210.jpg
101_ObjectCategories/watch/image_0211.jpg
101_ObjectCategories/watch/image_0213.jpg
101_ObjectCategories/watch/image_0214.jpg
101_ObjectCategories/watch/image_0215.jpg
101_ObjectCategories/watch/image_0216.jpg
101_ObjectCategories/watch/image_0217.jpg
101_ObjectCategories/watch/image_0219.jpg
101_ObjectCategories/watch/image_0220.jpg
101_ObjectCategories/watch/image_0221.jpg
101_ObjectCategories/watch/image_0222.jpg
101_ObjectCategories/watch/image_0223.jpg
101_ObjectCategories/watch/image_0225.jpg
101_ObjectCategories/watch/image_0226.jpg
101_ObjectCategories/watch/image_0227.jpg
101_ObjectCategories/watch/image_0228.jpg
101_ObjectCategories/watch/image_0229.jpg
101_ObjectCategories/watch/image_0231.jpg
101_ObjectCategories/watch/image_0232.jpg
101_ObjectCategories/watch/image_0233.jpg
101_ObjectCategories/watch/image_0234.jpg
101_ObjectCategories/watch/image_0235.jpg
101_ObjectCategories/watch/image_0237.jpg
101_ObjectCategories/watch/image_0238.jpg
101_ObjectCategories/watch/image_0239.jpg
101_ObjectCategories/watch/image_0001.jpg
101_ObjectCategories/watch/image_0002.jpg
101_ObjectCategories/watch/image_0003.jpg
101_ObjectCategories/watch/image_0009.jpg
101_ObjectCategories/watch/image_0015.jpg
101_ObjectCategories/watch/image_0021.jpg
101_ObjectCategories/watch/image_0027.jpg
101_ObjectCategories/watch/image_0033.jpg
101_ObjectCategories/watch/image_0039.jpg
101_ObjectCategories/watch/image_0045.jpg
101_ObjectCategories/watch/image_0051.jpg
101_ObjectCategories/watch/image_0057.jpg
101_ObjectCategories/watch/image_0063.jpg
101_ObjectCategories/watch/image_0069.jpg
101_ObjectCategories/watch/image_0075.jpg
101_ObjectCategories/watch/image_0081.jpg
101_ObjectCategories/watch/image_0087.jpg
101_ObjectCategories/watch/image_0093.jpg
101_ObjectCategories/watch/image_0099.jpg
101_ObjectCategories/watch/image_0105.jpg
101_ObjectCategories/watch/image_0111.jpg
101_ObjectCategories/watch/image_0117.jpg
101_ObjectCategories/watch/image_0123.jpg
101_ObjectCategories/watch/image_0129.jpg
101_ObjectCategories/watch/image_0135.jpg
101_ObjectCategories/watch/image_0141.jpg
101_ObjectCategories/watch/image_0147.jpg
101_ObjectCategories/watch/image_0153.jpg
101_ObjectCategories/watch/image_0159.jpg
101_ObjectCategories/watch/image_0165.jpg
101_ObjectCategories/watch/image_0171.jpg
101_ObjectCategories/watch/image_0177.jpg
101_ObjectCategories/watch/image_0183.jpg
101_ObjectCategories/watch/image_0189.jpg
101_ObjectCategories/watch/image_0195.jpg
101_ObjectCategories/watch/image_0201.jpg
101_ObjectCategories/watch/image_0206.jpg
101_ObjectCategories/watch/image_0212.jpg
101_ObjectCategories/watch/image_0218.jpg
101_ObjectCategories/watch/image_0224.jpg
101_ObjectCategories/watch/image_0230.jpg
101_ObjectCategories/watch/image_0236.jpg
101_ObjectCategories/water_lilly/
101_ObjectCategories/water_lilly/image_0004.jpg
101_ObjectCategories/water_lilly/image_0005.jpg
101_ObjectCategories/water_lilly/image_0006.jpg
101_ObjectCategories/water_lilly/image_0007.jpg
101_ObjectCategories/water_lilly/image_0008.jpg
101_ObjectCategories/water_lilly/image_0010.jpg
101_ObjectCategories/water_lilly/image_0011.jpg
101_ObjectCategories/water_lilly/image_0012.jpg
101_ObjectCategories/water_lilly/image_0013.jpg
101_ObjectCategories/water_lilly/image_0014.jpg
101_ObjectCategories/water_lilly/image_0016.jpg
101_ObjectCategories/water_lilly/image_0017.jpg
101_ObjectCategories/water_lilly/image_0018.jpg
101_ObjectCategories/water_lilly/image_0019.jpg
101_ObjectCategories/water_lilly/image_0020.jpg
101_ObjectCategories/water_lilly/image_0022.jpg
101_ObjectCategories/water_lilly/image_0023.jpg
101_ObjectCategories/water_lilly/image_0024.jpg
101_ObjectCategories/water_lilly/image_0025.jpg
101_ObjectCategories/water_lilly/image_0026.jpg
101_ObjectCategories/water_lilly/image_0028.jpg
101_ObjectCategories/water_lilly/image_0029.jpg
101_ObjectCategories/water_lilly/image_0030.jpg
101_ObjectCategories/water_lilly/image_0031.jpg
101_ObjectCategories/water_lilly/image_0032.jpg
101_ObjectCategories/water_lilly/image_0034.jpg
101_ObjectCategories/water_lilly/image_0035.jpg
101_ObjectCategories/water_lilly/image_0036.jpg
101_ObjectCategories/water_lilly/image_0037.jpg
101_ObjectCategories/water_lilly/image_0001.jpg
101_ObjectCategories/water_lilly/image_0002.jpg
101_ObjectCategories/water_lilly/image_0003.jpg
101_ObjectCategories/water_lilly/image_0009.jpg
101_ObjectCategories/water_lilly/image_0015.jpg
101_ObjectCategories/water_lilly/image_0021.jpg
101_ObjectCategories/water_lilly/image_0027.jpg
101_ObjectCategories/water_lilly/image_0033.jpg
101_ObjectCategories/wheelchair/
101_ObjectCategories/wheelchair/image_0004.jpg
101_ObjectCategories/wheelchair/image_0005.jpg
101_ObjectCategories/wheelchair/image_0006.jpg
101_ObjectCategories/wheelchair/image_0007.jpg
101_ObjectCategories/wheelchair/image_0008.jpg
101_ObjectCategories/wheelchair/image_0010.jpg
101_ObjectCategories/wheelchair/image_0011.jpg
101_ObjectCategories/wheelchair/image_0012.jpg
101_ObjectCategories/wheelchair/image_0013.jpg
101_ObjectCategories/wheelchair/image_0014.jpg
101_ObjectCategories/wheelchair/image_0016.jpg
101_ObjectCategories/wheelchair/image_0017.jpg
101_ObjectCategories/wheelchair/image_0018.jpg
101_ObjectCategories/wheelchair/image_0019.jpg
101_ObjectCategories/wheelchair/image_0020.jpg
101_ObjectCategories/wheelchair/image_0022.jpg
101_ObjectCategories/wheelchair/image_0023.jpg
101_ObjectCategories/wheelchair/image_0024.jpg
101_ObjectCategories/wheelchair/image_0025.jpg
101_ObjectCategories/wheelchair/image_0026.jpg
101_ObjectCategories/wheelchair/image_0028.jpg
101_ObjectCategories/wheelchair/image_0029.jpg
101_ObjectCategories/wheelchair/image_0030.jpg
101_ObjectCategories/wheelchair/image_0031.jpg
101_ObjectCategories/wheelchair/image_0032.jpg
101_ObjectCategories/wheelchair/image_0034.jpg
101_ObjectCategories/wheelchair/image_0035.jpg
101_ObjectCategories/wheelchair/image_0036.jpg
101_ObjectCategories/wheelchair/image_0037.jpg
101_ObjectCategories/wheelchair/image_0038.jpg
101_ObjectCategories/wheelchair/image_0040.jpg
101_ObjectCategories/wheelchair/image_0041.jpg
101_ObjectCategories/wheelchair/image_0042.jpg
101_ObjectCategories/wheelchair/image_0043.jpg
101_ObjectCategories/wheelchair/image_0044.jpg
101_ObjectCategories/wheelchair/image_0046.jpg
101_ObjectCategories/wheelchair/image_0047.jpg
101_ObjectCategories/wheelchair/image_0048.jpg
101_ObjectCategories/wheelchair/image_0049.jpg
101_ObjectCategories/wheelchair/image_0050.jpg
101_ObjectCategories/wheelchair/image_0052.jpg
101_ObjectCategories/wheelchair/image_0053.jpg
101_ObjectCategories/wheelchair/image_0054.jpg
101_ObjectCategories/wheelchair/image_0055.jpg
101_ObjectCategories/wheelchair/image_0056.jpg
101_ObjectCategories/wheelchair/image_0058.jpg
101_ObjectCategories/wheelchair/image_0059.jpg
101_ObjectCategories/wheelchair/image_0001.jpg
101_ObjectCategories/wheelchair/image_0002.jpg
101_ObjectCategories/wheelchair/image_0003.jpg
101_ObjectCategories/wheelchair/image_0009.jpg
101_ObjectCategories/wheelchair/image_0015.jpg
101_ObjectCategories/wheelchair/image_0021.jpg
101_ObjectCategories/wheelchair/image_0027.jpg
101_ObjectCategories/wheelchair/image_0033.jpg
101_ObjectCategories/wheelchair/image_0039.jpg
101_ObjectCategories/wheelchair/image_0045.jpg
101_ObjectCategories/wheelchair/image_0051.jpg
101_ObjectCategories/wheelchair/image_0057.jpg
101_ObjectCategories/wild_cat/
101_ObjectCategories/wild_cat/image_0004.jpg
101_ObjectCategories/wild_cat/image_0005.jpg
101_ObjectCategories/wild_cat/image_0006.jpg
101_ObjectCategories/wild_cat/image_0007.jpg
101_ObjectCategories/wild_cat/image_0008.jpg
101_ObjectCategories/wild_cat/image_0010.jpg
101_ObjectCategories/wild_cat/image_0011.jpg
101_ObjectCategories/wild_cat/image_0012.jpg
101_ObjectCategories/wild_cat/image_0013.jpg
101_ObjectCategories/wild_cat/image_0014.jpg
101_ObjectCategories/wild_cat/image_0016.jpg
101_ObjectCategories/wild_cat/image_0017.jpg
101_ObjectCategories/wild_cat/image_0018.jpg
101_ObjectCategories/wild_cat/image_0019.jpg
101_ObjectCategories/wild_cat/image_0020.jpg
101_ObjectCategories/wild_cat/image_0022.jpg
101_ObjectCategories/wild_cat/image_0023.jpg
101_ObjectCategories/wild_cat/image_0024.jpg
101_ObjectCategories/wild_cat/image_0025.jpg
101_ObjectCategories/wild_cat/image_0026.jpg
101_ObjectCategories/wild_cat/image_0028.jpg
101_ObjectCategories/wild_cat/image_0029.jpg
101_ObjectCategories/wild_cat/image_0030.jpg
101_ObjectCategories/wild_cat/image_0031.jpg
101_ObjectCategories/wild_cat/image_0032.jpg
101_ObjectCategories/wild_cat/image_0034.jpg
101_ObjectCategories/wild_cat/image_0001.jpg
101_ObjectCategories/wild_cat/image_0002.jpg
101_ObjectCategories/wild_cat/image_0003.jpg
101_ObjectCategories/wild_cat/image_0009.jpg
101_ObjectCategories/wild_cat/image_0015.jpg
101_ObjectCategories/wild_cat/image_0021.jpg
101_ObjectCategories/wild_cat/image_0027.jpg
101_ObjectCategories/wild_cat/image_0033.jpg
101_ObjectCategories/windsor_chair/
101_ObjectCategories/windsor_chair/image_0004.jpg
101_ObjectCategories/windsor_chair/image_0005.jpg
101_ObjectCategories/windsor_chair/image_0006.jpg
101_ObjectCategories/windsor_chair/image_0007.jpg
101_ObjectCategories/windsor_chair/image_0008.jpg
101_ObjectCategories/windsor_chair/image_0010.jpg
101_ObjectCategories/windsor_chair/image_0011.jpg
101_ObjectCategories/windsor_chair/image_0012.jpg
101_ObjectCategories/windsor_chair/image_0013.jpg
101_ObjectCategories/windsor_chair/image_0014.jpg
101_ObjectCategories/windsor_chair/image_0016.jpg
101_ObjectCategories/windsor_chair/image_0017.jpg
101_ObjectCategories/windsor_chair/image_0018.jpg
101_ObjectCategories/windsor_chair/image_0019.jpg
101_ObjectCategories/windsor_chair/image_0020.jpg
101_ObjectCategories/windsor_chair/image_0022.jpg
101_ObjectCategories/windsor_chair/image_0023.jpg
101_ObjectCategories/windsor_chair/image_0024.jpg
101_ObjectCategories/windsor_chair/image_0025.jpg
101_ObjectCategories/windsor_chair/image_0026.jpg
101_ObjectCategories/windsor_chair/image_0028.jpg
101_ObjectCategories/windsor_chair/image_0029.jpg
101_ObjectCategories/windsor_chair/image_0030.jpg
101_ObjectCategories/windsor_chair/image_0031.jpg
101_ObjectCategories/windsor_chair/image_0032.jpg
101_ObjectCategories/windsor_chair/image_0034.jpg
101_ObjectCategories/windsor_chair/image_0035.jpg
101_ObjectCategories/windsor_chair/image_0036.jpg
101_ObjectCategories/windsor_chair/image_0037.jpg
101_ObjectCategories/windsor_chair/image_0038.jpg
101_ObjectCategories/windsor_chair/image_0040.jpg
101_ObjectCategories/windsor_chair/image_0041.jpg
101_ObjectCategories/windsor_chair/image_0042.jpg
101_ObjectCategories/windsor_chair/image_0043.jpg
101_ObjectCategories/windsor_chair/image_0044.jpg
101_ObjectCategories/windsor_chair/image_0046.jpg
101_ObjectCategories/windsor_chair/image_0047.jpg
101_ObjectCategories/windsor_chair/image_0048.jpg
101_ObjectCategories/windsor_chair/image_0049.jpg
101_ObjectCategories/windsor_chair/image_0050.jpg
101_ObjectCategories/windsor_chair/image_0052.jpg
101_ObjectCategories/windsor_chair/image_0053.jpg
101_ObjectCategories/windsor_chair/image_0054.jpg
101_ObjectCategories/windsor_chair/image_0055.jpg
101_ObjectCategories/windsor_chair/image_0056.jpg
101_ObjectCategories/windsor_chair/image_0001.jpg
101_ObjectCategories/windsor_chair/image_0002.jpg
101_ObjectCategories/windsor_chair/image_0003.jpg
101_ObjectCategories/windsor_chair/image_0009.jpg
101_ObjectCategories/windsor_chair/image_0015.jpg
101_ObjectCategories/windsor_chair/image_0021.jpg
101_ObjectCategories/windsor_chair/image_0027.jpg
101_ObjectCategories/windsor_chair/image_0033.jpg
101_ObjectCategories/windsor_chair/image_0039.jpg
101_ObjectCategories/windsor_chair/image_0045.jpg
101_ObjectCategories/windsor_chair/image_0051.jpg
101_ObjectCategories/wrench/
101_ObjectCategories/wrench/image_0004.jpg
101_ObjectCategories/wrench/image_0005.jpg
101_ObjectCategories/wrench/image_0006.jpg
101_ObjectCategories/wrench/image_0007.jpg
101_ObjectCategories/wrench/image_0008.jpg
101_ObjectCategories/wrench/image_0010.jpg
101_ObjectCategories/wrench/image_0011.jpg
101_ObjectCategories/wrench/image_0012.jpg
101_ObjectCategories/wrench/image_0013.jpg
101_ObjectCategories/wrench/image_0014.jpg
101_ObjectCategories/wrench/image_0016.jpg
101_ObjectCategories/wrench/image_0017.jpg
101_ObjectCategories/wrench/image_0018.jpg
101_ObjectCategories/wrench/image_0019.jpg
101_ObjectCategories/wrench/image_0020.jpg
101_ObjectCategories/wrench/image_0022.jpg
101_ObjectCategories/wrench/image_0023.jpg
101_ObjectCategories/wrench/image_0024.jpg
101_ObjectCategories/wrench/image_0025.jpg
101_ObjectCategories/wrench/image_0026.jpg
101_ObjectCategories/wrench/image_0028.jpg
101_ObjectCategories/wrench/image_0029.jpg
101_ObjectCategories/wrench/image_0030.jpg
101_ObjectCategories/wrench/image_0031.jpg
101_ObjectCategories/wrench/image_0032.jpg
101_ObjectCategories/wrench/image_0034.jpg
101_ObjectCategories/wrench/image_0035.jpg
101_ObjectCategories/wrench/image_0036.jpg
101_ObjectCategories/wrench/image_0037.jpg
101_ObjectCategories/wrench/image_0038.jpg
101_ObjectCategories/wrench/image_0001.jpg
101_ObjectCategories/wrench/image_0002.jpg
101_ObjectCategories/wrench/image_0003.jpg
101_ObjectCategories/wrench/image_0009.jpg
101_ObjectCategories/wrench/image_0015.jpg
101_ObjectCategories/wrench/image_0021.jpg
101_ObjectCategories/wrench/image_0027.jpg
101_ObjectCategories/wrench/image_0033.jpg
101_ObjectCategories/wrench/image_0039.jpg
101_ObjectCategories/yin_yang/
101_ObjectCategories/yin_yang/image_0004.jpg
101_ObjectCategories/yin_yang/image_0005.jpg
101_ObjectCategories/yin_yang/image_0006.jpg
101_ObjectCategories/yin_yang/image_0007.jpg
101_ObjectCategories/yin_yang/image_0008.jpg
101_ObjectCategories/yin_yang/image_0010.jpg
101_ObjectCategories/yin_yang/image_0011.jpg
101_ObjectCategories/yin_yang/image_0012.jpg
101_ObjectCategories/yin_yang/image_0013.jpg
101_ObjectCategories/yin_yang/image_0014.jpg
101_ObjectCategories/yin_yang/image_0016.jpg
101_ObjectCategories/yin_yang/image_0017.jpg
101_ObjectCategories/yin_yang/image_0018.jpg
101_ObjectCategories/yin_yang/image_0019.jpg
101_ObjectCategories/yin_yang/image_0020.jpg
101_ObjectCategories/yin_yang/image_0022.jpg
101_ObjectCategories/yin_yang/image_0023.jpg
101_ObjectCategories/yin_yang/image_0024.jpg
101_ObjectCategories/yin_yang/image_0025.jpg
101_ObjectCategories/yin_yang/image_0026.jpg
101_ObjectCategories/yin_yang/image_0028.jpg
101_ObjectCategories/yin_yang/image_0029.jpg
101_ObjectCategories/yin_yang/image_0030.jpg
101_ObjectCategories/yin_yang/image_0031.jpg
101_ObjectCategories/yin_yang/image_0032.jpg
101_ObjectCategories/yin_yang/image_0034.jpg
101_ObjectCategories/yin_yang/image_0035.jpg
101_ObjectCategories/yin_yang/image_0036.jpg
101_ObjectCategories/yin_yang/image_0037.jpg
101_ObjectCategories/yin_yang/image_0038.jpg
101_ObjectCategories/yin_yang/image_0040.jpg
101_ObjectCategories/yin_yang/image_0041.jpg
101_ObjectCategories/yin_yang/image_0042.jpg
101_ObjectCategories/yin_yang/image_0043.jpg
101_ObjectCategories/yin_yang/image_0044.jpg
101_ObjectCategories/yin_yang/image_0046.jpg
101_ObjectCategories/yin_yang/image_0047.jpg
101_ObjectCategories/yin_yang/image_0048.jpg
101_ObjectCategories/yin_yang/image_0049.jpg
101_ObjectCategories/yin_yang/image_0050.jpg
101_ObjectCategories/yin_yang/image_0052.jpg
101_ObjectCategories/yin_yang/image_0053.jpg
101_ObjectCategories/yin_yang/image_0054.jpg
101_ObjectCategories/yin_yang/image_0055.jpg
101_ObjectCategories/yin_yang/image_0056.jpg
101_ObjectCategories/yin_yang/image_0058.jpg
101_ObjectCategories/yin_yang/image_0059.jpg
101_ObjectCategories/yin_yang/image_0060.jpg
101_ObjectCategories/yin_yang/image_0001.jpg
101_ObjectCategories/yin_yang/image_0002.jpg
101_ObjectCategories/yin_yang/image_0003.jpg
101_ObjectCategories/yin_yang/image_0009.jpg
101_ObjectCategories/yin_yang/image_0015.jpg
101_ObjectCategories/yin_yang/image_0021.jpg
101_ObjectCategories/yin_yang/image_0027.jpg
101_ObjectCategories/yin_yang/image_0033.jpg
101_ObjectCategories/yin_yang/image_0039.jpg
101_ObjectCategories/yin_yang/image_0045.jpg
101_ObjectCategories/yin_yang/image_0051.jpg
101_ObjectCategories/yin_yang/image_0057.jpg
101_ObjectCategories/cougar_body/
101_ObjectCategories/cougar_body/image_0004.jpg
101_ObjectCategories/cougar_body/image_0005.jpg
101_ObjectCategories/cougar_body/image_0006.jpg
101_ObjectCategories/cougar_body/image_0007.jpg
101_ObjectCategories/cougar_body/image_0008.jpg
101_ObjectCategories/cougar_body/image_0010.jpg
101_ObjectCategories/cougar_body/image_0011.jpg
101_ObjectCategories/cougar_body/image_0012.jpg
101_ObjectCategories/cougar_body/image_0013.jpg
101_ObjectCategories/cougar_body/image_0014.jpg
101_ObjectCategories/cougar_body/image_0016.jpg
101_ObjectCategories/cougar_body/image_0017.jpg
101_ObjectCategories/cougar_body/image_0018.jpg
101_ObjectCategories/cougar_body/image_0019.jpg
101_ObjectCategories/cougar_body/image_0020.jpg
101_ObjectCategories/cougar_body/image_0022.jpg
101_ObjectCategories/cougar_body/image_0023.jpg
101_ObjectCategories/cougar_body/image_0024.jpg
101_ObjectCategories/cougar_body/image_0025.jpg
101_ObjectCategories/cougar_body/image_0026.jpg
101_ObjectCategories/cougar_body/image_0028.jpg
101_ObjectCategories/cougar_body/image_0029.jpg
101_ObjectCategories/cougar_body/image_0030.jpg
101_ObjectCategories/cougar_body/image_0031.jpg
101_ObjectCategories/cougar_body/image_0032.jpg
101_ObjectCategories/cougar_body/image_0034.jpg
101_ObjectCategories/cougar_body/image_0035.jpg
101_ObjectCategories/cougar_body/image_0036.jpg
101_ObjectCategories/cougar_body/image_0037.jpg
101_ObjectCategories/cougar_body/image_0038.jpg
101_ObjectCategories/cougar_body/image_0040.jpg
101_ObjectCategories/cougar_body/image_0041.jpg
101_ObjectCategories/cougar_body/image_0042.jpg
101_ObjectCategories/cougar_body/image_0043.jpg
101_ObjectCategories/cougar_body/image_0044.jpg
101_ObjectCategories/cougar_body/image_0046.jpg
101_ObjectCategories/cougar_body/image_0047.jpg
101_ObjectCategories/cougar_body/image_0001.jpg
101_ObjectCategories/cougar_body/image_0002.jpg
101_ObjectCategories/cougar_body/image_0003.jpg
101_ObjectCategories/cougar_body/image_0009.jpg
101_ObjectCategories/cougar_body/image_0015.jpg
101_ObjectCategories/cougar_body/image_0021.jpg
101_ObjectCategories/cougar_body/image_0027.jpg
101_ObjectCategories/cougar_body/image_0033.jpg
101_ObjectCategories/cougar_body/image_0039.jpg
101_ObjectCategories/cougar_body/image_0045.jpg

We implemented some useful functions for displaying images. The first one takes one image and the second takes 25, with or without labels depending on the users humour.

In [4]:
def imshow(image, label = None):
    plt.imshow(cv2.cvtColor(image.astype('uint8'), cv2.COLOR_BGR2RGB), cmap=plt.cm.binary)
    plt.xticks([])
    plt.yticks([])
    plt.grid(False)
    if label == None:
        plt.show()
    else:
        plt.xlabel(label)
        plt.show()

def display_images(images, labels = None):
    fig = plt.figure(figsize=(10,10))
    for i in range(25):
        plt.subplot(5,5,i+1)
        plt.xticks([])
        plt.yticks([])
        plt.grid(False)
        plt.imshow(cv2.cvtColor(images[i].astype('uint8'), cv2.COLOR_BGR2RGB), cmap=plt.cm.binary)
        if labels != None:
            plt.xlabel(labels[i])
    plt.show()

Here we set the image size which is used in resizing and setting the input layer of the NN.

In [5]:
img_size = 64

This function loads images of one category. The limit parameter, if used, limts the number of images that are being loaded

In [6]:
def load_images(path, category, limit = None):
    category_path = os.path.join(path, category)
    images_paths = [os.path.join(category_path,img) for img in os.listdir(category_path)]
    images = [cv2.resize(cv2.imread(f, 1), (img_size, img_size)) for f in images_paths]
    labels = [category for i in range(0, len(os.listdir(category_path)))]
    if limit == None:
        return images, labels
    else:
        limit_norm = min(limit, len(images))
        return images[:limit_norm], labels[:limit_norm]

This function creates the dataset from a given path - it takes two parameters - categories and limit. Categories is user-induced list of categories, if left blank it takes all categories into consideration. limit is used to limit the number of images per class which helps avoid having too much or too little representation.

In [7]:
def create_dataset(path, categories = None, limit = None):
    if categories == None:
        categories = os.listdir(path)
    X = []
    y = []
    for category in categories:
        images, labels = load_images(path, category, limit)
        X.extend(images)
        y.extend(labels)
    X = np.asarray(X)
    y = np.asarray(y)
    return X, y

Step verification:

In [8]:
faces_images, faces_labels = load_images(PATH, "Faces")
imshow(faces_images[0], faces_labels[0])
print(faces_images[0].shape)
(64, 64, 3)
In [9]:
display_images(faces_images[:25], faces_labels[:25])
In [10]:
X_all, y_all = create_dataset(PATH)

Step verification:

In [11]:
imshow(X_all[0], y_all[0])
print(X_all[0].shape)
(64, 64, 3)
In [12]:
imshow(X_all[200], y_all[200])
print(X_all[200].shape)
(64, 64, 3)
In [13]:
imshow(X_all[1000], y_all[1000])
print(X_all[1000].shape)
(64, 64, 3)

2) Standardize the images (5%)

Note: Some of these operations can be performed during step 1). If that's the case, don't do them again here.

Unify the images:

  • Number and sequence of channels (RGB) if needed
  • Images shape (e.g. $32 \times 32 \times 3$) - including channel convention (channels_last suggested)
  • Standardization of pixel values, e.g. ($\frac{x - \mu}{\sigma}$) - calculate $\mu$ and $\sigma$ for the whole dataset, separately for each channel

Step verification:

Check what the image you selected in step 1) looks like now.

All images are rgb. That's because we use opencv to load them which loads all jpgs as 3 channeled, even when importing a grayscale image it will still make it three channeled.

Here is our function to standardize the images (formula from the task description)

In [14]:
def standardize_dataset(dataset):
    mean = np.mean(dataset, axis=(0,1,2))
    std = np.sqrt(((dataset - mean)**2).mean(axis=(0,1,2)))
    result = (dataset - mean) / std
    return result
standardized_X = standardize_dataset(X_all)

Step verification:

In [15]:
imshow(X_all[0])
imshow(standardized_X[0])

Let's not waste RAM though (fun fact, managing RAM proved to be the most difficult part of this project, sadly our personal gpu-free computers took ages for the model to train, so we had to stick to Colab)

In [16]:
del standardized_X
del X_all
del y_all

3) Divide the collection into Train and Test set (5%)

  • Reduce the number of classes - filter the collection and leave images from ~15-25 classes, select those classes that have the largest number of examples. Make sure your collection is balanced (roughly the same number of samples for each class). You can do this by discarding classes that cause imbalance, or you can reduce the number of samples in larger classes.
  • Randomly split the set into train (70%) and test (30%) set - X_train, X_test (images) and y_train, y_test (labels). (hint: check sklearn.model_selection.train_test_split)
  • Make sure that the proportions of each class in both sets are more or less the same as in the whole set (hint: stratify parameter in train_test_split)
  • Change labels in y vectors to one-hot encoding
  • Ensure image and label collections are in the form of numpy.array

Note: After selecting a subset of classes, check what images contain these classes - are they appropriate for the classification problem? "BACKGROUND_Google" is probably not the best choice :)

Step verification:

  • Check the shape of the X_train, X_test (images) and the y_train, y_test (labels)
  • Check on the example images if the label is in the correct form
  • Check how many samples from each class are in particular subsets (train and test) and whether the proportions are the same in both subsets

We have chosen to use 15 classes (following the idea of 'start slow and build up'). The classes choice was based on counting the number of images per class and choosing the 15 most populated ones (limit of representatives = 100 to avoid imbalanced distribution)

In [17]:
def get_n_categories(n = 15):
    categories = os.listdir(PATH)
    classes = dict()
    for category in categories:
        category_path = os.path.join(PATH, category)
        images_paths = os.listdir(category_path)
        classes[category] = len(images_paths)
    sorted_classes = sorted(classes.items(), key=lambda x:x[1], reverse=True)
    limit = sorted_classes[n][1]
    return [x[0] for x in sorted_classes[:n]], limit
In [18]:
new_categories, limit = get_n_categories()
In [19]:
new_categories
Out[19]:
['airplanes',
 'Motorbikes',
 'Faces',
 'watch',
 'Leopards',
 'bonsai',
 'car_side',
 'ketch',
 'chandelier',
 'hawksbill',
 'grand_piano',
 'brain',
 'butterfly',
 'helicopter',
 'menorah']
In [20]:
X_15, y_15 = create_dataset(PATH, new_categories, limit = limit)
In [21]:
X_15.shape
Out[21]:
(1290, 64, 64, 3)
In [22]:
X_15 = standardize_dataset(X_15)
In [23]:
X_15.shape
Out[23]:
(1290, 64, 64, 3)

Now, would train test split from sklearn work? Yes, but we already had this function implemented in another project, and it would be a waste if we hadn't used it here. So here's our own function which creates the train, test and validation sets in a stratified manner and with user-based percentage of train/test/val data.

In [24]:
def distribute_train_test_val(X, y, test_split = 0.15, val_split = 0.15):
    classes = list(Counter(y).keys())
    number = list(Counter(y).values())
    n = len(classes)
    X_train, y_train, X_test, y_test, X_val, y_val = [],[],[],[],[],[]
    beg = 0
    for i in range(n):
        test_size = int(number[i] * test_split)
        val_size = int(number[i] * val_split)
        train_size = number[i] - test_size - val_size
        set_x = X[beg : beg + test_size]
        random.shuffle(set_x)
        set_y = y[beg : beg + test_size]
        X_test.extend(set_x)
        y_test.extend(set_y)
        beg += test_size
        set_x = X[beg : beg + val_size]
        random.shuffle(set_x)
        set_y = y[beg : beg + val_size]
        X_val.extend(set_x)
        y_val.extend(set_y)
        beg += val_size
        set_x = X[beg : beg + train_size]
        random.shuffle(set_x)
        set_y = y[beg : beg + train_size]
        X_train.extend(set_x)
        y_train.extend(set_y)
        beg += train_size
    X_train = np.asarray(X_train)
    y_train = np.asarray(y_train)
    X_val = np.asarray(X_val)
    y_val = np.asarray(y_val)
    X_test = np.asarray(X_test)
    y_test = np.asarray(y_test)
    return X_train, y_train, X_test, y_test, X_val, y_val
In [25]:
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X_15, y_15)

Step verification of the third point had to be done here, as OHE the data made it difficult

In [26]:
classes_train = list(Counter(y_train).keys())
number_train = list(Counter(y_train).values())
for i in range(len(classes_train)):
    print(classes_train[i], number_train[i])
airplanes 62
Motorbikes 62
Faces 62
watch 62
Leopards 62
bonsai 62
car_side 62
ketch 62
chandelier 62
hawksbill 62
grand_piano 62
brain 62
butterfly 62
helicopter 62
menorah 62
In [27]:
classes_test = list(Counter(y_test).keys())
number_test = list(Counter(y_test).values())
for i in range(len(classes_train)):
    print(classes_test[i], number_test[i])
airplanes 12
Motorbikes 12
Faces 12
watch 12
Leopards 12
bonsai 12
car_side 12
ketch 12
chandelier 12
hawksbill 12
grand_piano 12
brain 12
butterfly 12
helicopter 12
menorah 12

One-hot encoding the y's:

In [28]:
y_train = pd.get_dummies(y_train)
y_test = pd.get_dummies(y_test)
y_val = pd.get_dummies(y_val)
In [29]:
y_train.head()
Out[29]:
Faces Leopards Motorbikes airplanes bonsai brain butterfly car_side chandelier grand_piano hawksbill helicopter ketch menorah watch
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
In [30]:
mapping = y_train.columns
In [31]:
y_train = np.asarray(y_train)
y_test = np.asarray(y_test)
y_val = np.asarray(y_val)

Step verification:

In [32]:
print(X_train.shape)
print(X_test.shape)
print(X_val.shape)
print(y_train.shape)
print(y_test.shape)
print(y_val.shape)
(930, 64, 64, 3)
(180, 64, 64, 3)
(180, 64, 64, 3)
(930, 15)
(180, 15)
(180, 15)
In [33]:
imshow(X_train[0])

y_train head showed that the first image is classified as airplanes, which is true.

4) Define the model (5%)

Suggestions (you should probably try different settings and choose the best one):

  • Activation functions - ReLU
  • At least 3 Convolutional blocks - (Conv2D, Activation, BatchNormalization, Dropout, MaxPooling2D); Conv2D - kernel=(3,3), padding='same'; MaxPooling2D - pool_size=(2,2)
  • Flatten layer
  • At least 2 layers Fully-Connected (Dense)
  • Output layer - Dense with number_of_classes outputs (remember to use softmax)

Note: You can add Activation as a separate layer or as activation='relu' parameter in Conv2D

Step verification:

Compile the model with 'adam' optimizer, the Categorical Crossentropy as the loss function, and measure the accuracy value.

Here's our model (it's defined inside a function for further processing in part 2). We are very naive and have done everything as suggested (3 convolutional blocks etc. the description of our model is basically in the suggestions. Step verification is done inside the function.

In [34]:
input_shape = (img_size, img_size, 3)
In [35]:
def create_model(num_categories, conv_neurons = [32, 32, 32], dropout = [0.3, 0.3, 0.3], dense_neurons = [128, 200], activations = ['relu', 'relu', 'relu', 'relu', 'relu'], normalize_flag = True):
    model = Sequential()
    model.add(InputLayer(input_shape=input_shape))
    model.add(Conv2D(conv_neurons[0], kernel_size=(3, 3), padding='same', activation=activations[0]))
    if normalize_flag:
        model.add(BatchNormalization())
    model.add(Dropout(dropout[0]))
    model.add(MaxPooling2D(pool_size=(2, 2)))

    model.add(Conv2D(conv_neurons[1], kernel_size=(3, 3), padding='same', activation=activations[1]))
    if normalize_flag:
        model.add(BatchNormalization())
    model.add(Dropout(dropout[1]))
    model.add(MaxPooling2D(pool_size=(2, 2)))

    model.add(Conv2D(conv_neurons[2], kernel_size=(3, 3), padding='same', activation=activations[2]))
    if normalize_flag:
        model.add(BatchNormalization())
    model.add(Dropout(dropout[2]))
    model.add(MaxPooling2D(pool_size=(2, 2)))

    model.add(Flatten())

    model.add(Dense(dense_neurons[0], activation=activations[3]))
    model.add(Dense(dense_neurons[1], activation=activations[4]))

    model.add(Dense(num_categories, activation='softmax'))
    model.compile(loss=tf.keras.losses.categorical_crossentropy,
                  optimizer=tf.keras.optimizers.Adam(),
                  metrics=['accuracy'])
    return model
In [36]:
model = create_model(15)
model.summary()
Model: "sequential"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 conv2d (Conv2D)             (None, 64, 64, 32)        896       
                                                                 
 batch_normalization (BatchN  (None, 64, 64, 32)       128       
 ormalization)                                                   
                                                                 
 dropout (Dropout)           (None, 64, 64, 32)        0         
                                                                 
 max_pooling2d (MaxPooling2D  (None, 32, 32, 32)       0         
 )                                                               
                                                                 
 conv2d_1 (Conv2D)           (None, 32, 32, 32)        9248      
                                                                 
 batch_normalization_1 (Batc  (None, 32, 32, 32)       128       
 hNormalization)                                                 
                                                                 
 dropout_1 (Dropout)         (None, 32, 32, 32)        0         
                                                                 
 max_pooling2d_1 (MaxPooling  (None, 16, 16, 32)       0         
 2D)                                                             
                                                                 
 conv2d_2 (Conv2D)           (None, 16, 16, 32)        9248      
                                                                 
 batch_normalization_2 (Batc  (None, 16, 16, 32)       128       
 hNormalization)                                                 
                                                                 
 dropout_2 (Dropout)         (None, 16, 16, 32)        0         
                                                                 
 max_pooling2d_2 (MaxPooling  (None, 8, 8, 32)         0         
 2D)                                                             
                                                                 
 flatten (Flatten)           (None, 2048)              0         
                                                                 
 dense (Dense)               (None, 128)               262272    
                                                                 
 dense_1 (Dense)             (None, 200)               25800     
                                                                 
 dense_2 (Dense)             (None, 15)                3015      
                                                                 
=================================================================
Total params: 310,863
Trainable params: 310,671
Non-trainable params: 192
_________________________________________________________________

5) Train the model (5%)

Suggested hyperparameters:

  • batch_size = 32
  • epochs = 250 (or whatever you think is appropriate; first, just check if everything works on several epochs to save time)
  • Monitor the value of measures for the test set
  • Add EarlyStopping - stop training when there is no improvement in accuracy for the test set within 5 consecutive epochs (you can first test the behavior for patience = 1)

Step verification:

After completing the learning process, show:

  • Learning curves for loss_function and accuracy, changing over the epochs on train and test set
  • Confusion matrix and calculate precision and recall for each class for test set
  • Show few images from the test set, display the probabilities of assigning them to each class (at least two examples: one image example that was classified correctly and one which was classified incorrectly)

Note: Functions to display learning curves and confusion matrices based on the model will be useful in the Part 2.

Functions for diplaying learning curves, CM and CR:

In [37]:
def plot_accuracy(history):
    plt.plot(history.history['accuracy'])
    plt.plot(history.history['val_accuracy'])
    plt.title('model accuracy')
    plt.ylabel('accuracy')
    plt.xlabel('epoch')
    plt.legend(['train', 'val'], loc='upper left')
    plt.show()

def plot_loss(history):
    plt.plot(history.history['loss'])
    plt.plot(history.history['val_loss'])
    plt.title('model loss')
    plt.ylabel('loss')
    plt.xlabel('epoch')
    plt.legend(['train', 'val'], loc='upper left')
    plt.show()
    
def get_predictions(model, X_test, y_test, mapping):
    test_loss = model.evaluate(X_test, y_test)
    predictions = model.predict(X_test)
    pred_labels = np.argmax(predictions, axis = 1)
    y_labels = np.asarray(y_test)
    y_labels = np.argmax(y_labels, axis = 1)
    labels = []
    for i in range(25):
        labels.append(str(mapping[pred_labels[i]]) + " " + str(mapping[y_labels[i]]))
    X = np.asarray(X_test[:25])
    display_images(X, labels)
    return y_labels, pred_labels
    
def display_confusion_matrix(y_labels, pred_labels, mapping):
    cm = confusion_matrix(y_labels, pred_labels)
    ax = plt.axes()
    sns.heatmap(cm, annot=True, 
            annot_kws={"size": 5}, 
            xticklabels=mapping, 
            yticklabels=mapping, ax = ax)
    ax.set_title('Confusion matrix')
    plt.show()
    cr = classification_report(y_labels, pred_labels, target_names=mapping)
    return cr

def plot_all(history, model, X_test, y_test, mapping):
    plot_accuracy(history)
    plot_loss(history)
    y_labels, pred_labels = get_predictions(model, X_test, y_test, mapping)
    return display_confusion_matrix(y_labels, pred_labels, mapping)

Here's an interesting addition that differs from the suggestions - we decided to use and ImageDataGenerator (our NN was overfitting and after scouring multiple stackoverflow posts, we found one that said this could be a solution to our problems - now it still overfits, but not as fast as it used to before).

In [38]:
datagen = ImageDataGenerator(
        rotation_range=10,
        width_shift_range=0.2,
        height_shift_range=0.2,
        zoom_range=0.2,
        horizontal_flip=True,
        )

We have decided to use the recommended formulas for steps_per_epoch and validation_steps, set the patience to 10 and told EarlyStopping to restore to the best weights achieved (all to avoid our overfitting problem).

In [56]:
history = model.fit(datagen.flow(X_train, y_train, batch_size=32, shuffle=True), 
                    epochs=250,
                    steps_per_epoch=X_train.shape[0]//32,
                    validation_data=(X_val, y_val),
                    validation_steps=X_val.shape[0]//32,
                    callbacks=[
                        EarlyStopping(
                            monitor="val_accuracy",
                            patience=10,
                            restore_best_weights=True,
                            verbose = 1
                        )
                    ])
Epoch 1/250
29/29 [==============================] - 2s 51ms/step - loss: 2.5752 - accuracy: 0.1882 - val_loss: 2.5300 - val_accuracy: 0.2444
Epoch 2/250
29/29 [==============================] - 1s 46ms/step - loss: 1.9258 - accuracy: 0.3820 - val_loss: 2.7731 - val_accuracy: 0.1278
Epoch 3/250
29/29 [==============================] - 1s 46ms/step - loss: 1.6658 - accuracy: 0.4752 - val_loss: 3.4102 - val_accuracy: 0.1111
Epoch 4/250
29/29 [==============================] - 1s 44ms/step - loss: 1.3882 - accuracy: 0.5579 - val_loss: 3.7789 - val_accuracy: 0.1167
Epoch 5/250
29/29 [==============================] - 1s 47ms/step - loss: 1.3080 - accuracy: 0.5857 - val_loss: 4.4518 - val_accuracy: 0.1111
Epoch 6/250
29/29 [==============================] - 1s 46ms/step - loss: 1.0758 - accuracy: 0.6682 - val_loss: 4.2541 - val_accuracy: 0.1556
Epoch 7/250
29/29 [==============================] - 1s 43ms/step - loss: 1.0641 - accuracy: 0.6481 - val_loss: 4.7553 - val_accuracy: 0.1556
Epoch 8/250
29/29 [==============================] - 1s 43ms/step - loss: 0.9031 - accuracy: 0.6971 - val_loss: 4.2329 - val_accuracy: 0.2167
Epoch 9/250
29/29 [==============================] - 1s 46ms/step - loss: 0.8934 - accuracy: 0.7183 - val_loss: 3.9531 - val_accuracy: 0.2611
Epoch 10/250
29/29 [==============================] - 1s 45ms/step - loss: 0.8030 - accuracy: 0.7461 - val_loss: 3.6872 - val_accuracy: 0.2778
Epoch 11/250
29/29 [==============================] - 1s 47ms/step - loss: 0.7691 - accuracy: 0.7572 - val_loss: 3.8683 - val_accuracy: 0.2944
Epoch 12/250
29/29 [==============================] - 1s 46ms/step - loss: 0.8542 - accuracy: 0.7439 - val_loss: 3.7153 - val_accuracy: 0.3222
Epoch 13/250
29/29 [==============================] - 1s 44ms/step - loss: 0.8329 - accuracy: 0.7339 - val_loss: 3.2560 - val_accuracy: 0.3556
Epoch 14/250
29/29 [==============================] - 1s 44ms/step - loss: 0.7501 - accuracy: 0.7572 - val_loss: 2.8847 - val_accuracy: 0.4667
Epoch 15/250
29/29 [==============================] - 1s 45ms/step - loss: 0.5707 - accuracy: 0.8096 - val_loss: 2.2541 - val_accuracy: 0.5056
Epoch 16/250
29/29 [==============================] - 1s 44ms/step - loss: 0.5989 - accuracy: 0.8051 - val_loss: 2.6382 - val_accuracy: 0.4333
Epoch 17/250
29/29 [==============================] - 1s 46ms/step - loss: 0.5679 - accuracy: 0.8163 - val_loss: 2.5052 - val_accuracy: 0.4222
Epoch 18/250
29/29 [==============================] - 1s 43ms/step - loss: 0.5576 - accuracy: 0.8029 - val_loss: 3.0785 - val_accuracy: 0.4722
Epoch 19/250
29/29 [==============================] - 1s 45ms/step - loss: 0.4484 - accuracy: 0.8430 - val_loss: 2.6280 - val_accuracy: 0.5389
Epoch 20/250
29/29 [==============================] - 1s 44ms/step - loss: 0.5564 - accuracy: 0.8207 - val_loss: 2.9385 - val_accuracy: 0.4778
Epoch 21/250
29/29 [==============================] - 1s 45ms/step - loss: 0.4894 - accuracy: 0.8330 - val_loss: 2.1560 - val_accuracy: 0.5500
Epoch 22/250
29/29 [==============================] - 1s 44ms/step - loss: 0.4155 - accuracy: 0.8675 - val_loss: 4.2071 - val_accuracy: 0.4167
Epoch 23/250
29/29 [==============================] - 1s 45ms/step - loss: 0.5533 - accuracy: 0.8196 - val_loss: 2.7408 - val_accuracy: 0.5111
Epoch 24/250
29/29 [==============================] - 1s 44ms/step - loss: 0.4070 - accuracy: 0.8664 - val_loss: 2.7636 - val_accuracy: 0.4833
Epoch 25/250
29/29 [==============================] - 1s 43ms/step - loss: 0.5714 - accuracy: 0.8151 - val_loss: 3.2301 - val_accuracy: 0.3722
Epoch 26/250
29/29 [==============================] - 1s 44ms/step - loss: 0.4510 - accuracy: 0.8575 - val_loss: 2.6842 - val_accuracy: 0.5611
Epoch 27/250
29/29 [==============================] - 1s 46ms/step - loss: 0.4792 - accuracy: 0.8452 - val_loss: 2.5974 - val_accuracy: 0.5778
Epoch 28/250
29/29 [==============================] - 1s 45ms/step - loss: 0.4220 - accuracy: 0.8575 - val_loss: 2.7164 - val_accuracy: 0.5056
Epoch 29/250
29/29 [==============================] - 2s 76ms/step - loss: 0.3638 - accuracy: 0.8664 - val_loss: 2.5031 - val_accuracy: 0.4944
Epoch 30/250
29/29 [==============================] - 2s 62ms/step - loss: 0.3676 - accuracy: 0.8842 - val_loss: 1.8026 - val_accuracy: 0.5556
Epoch 31/250
29/29 [==============================] - 1s 45ms/step - loss: 0.3138 - accuracy: 0.8931 - val_loss: 2.1667 - val_accuracy: 0.5500
Epoch 32/250
29/29 [==============================] - 1s 45ms/step - loss: 0.2850 - accuracy: 0.9098 - val_loss: 2.0039 - val_accuracy: 0.6222
Epoch 33/250
29/29 [==============================] - 2s 88ms/step - loss: 0.2497 - accuracy: 0.9209 - val_loss: 2.4435 - val_accuracy: 0.4444
Epoch 34/250
29/29 [==============================] - 1s 49ms/step - loss: 0.2581 - accuracy: 0.9131 - val_loss: 2.5479 - val_accuracy: 0.5500
Epoch 35/250
29/29 [==============================] - 1s 45ms/step - loss: 0.4300 - accuracy: 0.8552 - val_loss: 3.0070 - val_accuracy: 0.5278
Epoch 36/250
29/29 [==============================] - 2s 57ms/step - loss: 0.3688 - accuracy: 0.8953 - val_loss: 2.8086 - val_accuracy: 0.4778
Epoch 37/250
29/29 [==============================] - 1s 43ms/step - loss: 0.3743 - accuracy: 0.8886 - val_loss: 3.8019 - val_accuracy: 0.3889
Epoch 38/250
29/29 [==============================] - 1s 45ms/step - loss: 0.4101 - accuracy: 0.8541 - val_loss: 3.0518 - val_accuracy: 0.5000
Epoch 39/250
29/29 [==============================] - 1s 43ms/step - loss: 0.3319 - accuracy: 0.8987 - val_loss: 3.6747 - val_accuracy: 0.4222
Epoch 40/250
29/29 [==============================] - 1s 44ms/step - loss: 0.3034 - accuracy: 0.9087 - val_loss: 2.6662 - val_accuracy: 0.5944
Epoch 41/250
29/29 [==============================] - 1s 43ms/step - loss: 0.3435 - accuracy: 0.8953 - val_loss: 2.8385 - val_accuracy: 0.4833
Epoch 42/250
29/29 [==============================] - ETA: 0s - loss: 0.2449 - accuracy: 0.9187Restoring model weights from the end of the best epoch: 32.
29/29 [==============================] - 1s 44ms/step - loss: 0.2449 - accuracy: 0.9187 - val_loss: 2.9547 - val_accuracy: 0.4944
Epoch 42: early stopping
In [57]:
cr = plot_all(history, model, X_test, y_test, mapping)
6/6 [==============================] - 0s 5ms/step - loss: 2.0159 - accuracy: 0.6778
6/6 [==============================] - 0s 4ms/step
In [41]:
print(cr)
              precision    recall  f1-score   support

       Faces       0.20      0.17      0.18        12
    Leopards       0.52      0.92      0.67        12
  Motorbikes       0.29      0.50      0.36        12
   airplanes       0.18      0.17      0.17        12
      bonsai       0.00      0.00      0.00        12
       brain       0.00      0.00      0.00        12
   butterfly       0.25      0.42      0.31        12
    car_side       0.90      0.75      0.82        12
  chandelier       0.00      0.00      0.00        12
 grand_piano       0.48      0.92      0.63        12
   hawksbill       0.64      0.58      0.61        12
  helicopter       0.11      0.08      0.10        12
       ketch       0.45      0.75      0.56        12
     menorah       0.00      0.00      0.00        12
       watch       0.42      0.42      0.42        12

    accuracy                           0.38       180
   macro avg       0.30      0.38      0.32       180
weighted avg       0.30      0.38      0.32       180

6) Save the model to disk (5%)

  • Prepare 2 functions - for saving the model and for loading the model
  • Model structure should be saved as JSON file, model parameters in HDF5 file

Step verification:

Checking the operation of both functions by:

  • Save the model
  • Load the model
  • Make predictions on the loaded model for the test set
  • Display the confusion matrix for the test set and compare it with the matrix obtained in the previous step to see if saving and loading worked properly
In [58]:
!touch model0.json
!touch weights0.h5
In [59]:
def save_model(model, model_path, weights_path):
    model_json = model.to_json()
    with open(model_path, "w") as json_file:
        json_file.write(model_json)
    model.save_weights(weights_path)
In [60]:
def load_model(model_path, weights_path):
    with open((model_path), "r") as json_file:
        model = tf.keras.models.model_from_json(json_file.read())
    model.load_weights(weights_path)
    return model

Step verification:

In [61]:
save_model(model, '/content/model0.json', '/content/weights0.h5')
In [62]:
model_json = load_model('/content/model0.json', '/content/weights0.h5')
In [63]:
model_json.compile(optimizer='adam', 
             loss=tf.keras.losses.CategoricalCrossentropy(),
             metrics=['accuracy'])
In [64]:
test_loss = model_json.evaluate(X_test, y_test)
test_loss
6/6 [==============================] - 0s 5ms/step - loss: 2.0159 - accuracy: 0.6778
Out[64]:
[2.0159404277801514, 0.6777777671813965]
In [65]:
y_labels, pred_labels = get_predictions(model_json, X_test, y_test, mapping)
display_confusion_matrix(y_labels, pred_labels, mapping)
6/6 [==============================] - 0s 4ms/step - loss: 2.0159 - accuracy: 0.6778
6/6 [==============================] - 0s 4ms/step
Out[65]:
'              precision    recall  f1-score   support\n\n       Faces       0.92      1.00      0.96        12\n    Leopards       0.50      0.25      0.33        12\n  Motorbikes       1.00      0.33      0.50        12\n   airplanes       0.41      1.00      0.59        12\n      bonsai       1.00      0.92      0.96        12\n       brain       0.53      0.75      0.62        12\n   butterfly       0.83      0.42      0.56        12\n    car_side       1.00      1.00      1.00        12\n  chandelier       0.57      0.33      0.42        12\n grand_piano       1.00      0.75      0.86        12\n   hawksbill       0.64      0.58      0.61        12\n  helicopter       0.62      0.42      0.50        12\n       ketch       0.70      0.58      0.64        12\n     menorah       0.55      1.00      0.71        12\n       watch       0.67      0.83      0.74        12\n\n    accuracy                           0.68       180\n   macro avg       0.73      0.68      0.67       180\nweighted avg       0.73      0.68      0.67       180\n'

7) Summary of the Part 1 - describe your observations (10%)

Describe your observations on the tasks performed. Supporting questions:

  • What kind of modifications have you made? Why? (Describe, if you made any)
  • What results have you achieved?
  • Is the underfitting or overfitting of the model visible? If so, what are your suggestions for solving this problem?
  • Which class(es) the model had a trouble with? Which were the easiest for it? Which pair of classes were most often confused with each other? Can you guess why?
  • What opportunities do you see for improvement?

Step verification:

Use Markdowns to describe your conclusions or put them into the report.

The summary will be performed on our best result, allow me to load in the model

In [66]:
model_json = load_model('/content/model3.json', '/content/weights3.h5')
In [67]:
model_json.compile(optimizer='adam', 
             loss=tf.keras.losses.CategoricalCrossentropy(),
             metrics=['accuracy'])
In [68]:
test_loss = model_json.evaluate(X_test, y_test)
test_loss
6/6 [==============================] - 0s 5ms/step - loss: 2.0159 - accuracy: 0.6778
Out[68]:
[2.0159404277801514, 0.6777777671813965]
In [69]:
y_labels, pred_labels = get_predictions(model_json, X_test, y_test, mapping)
cr = display_confusion_matrix(y_labels, pred_labels, mapping)
6/6 [==============================] - 0s 4ms/step - loss: 2.0159 - accuracy: 0.6778
6/6 [==============================] - 0s 3ms/step
In [70]:
print(cr)
              precision    recall  f1-score   support

       Faces       0.92      1.00      0.96        12
    Leopards       0.50      0.25      0.33        12
  Motorbikes       1.00      0.33      0.50        12
   airplanes       0.41      1.00      0.59        12
      bonsai       1.00      0.92      0.96        12
       brain       0.53      0.75      0.62        12
   butterfly       0.83      0.42      0.56        12
    car_side       1.00      1.00      1.00        12
  chandelier       0.57      0.33      0.42        12
 grand_piano       1.00      0.75      0.86        12
   hawksbill       0.64      0.58      0.61        12
  helicopter       0.62      0.42      0.50        12
       ketch       0.70      0.58      0.64        12
     menorah       0.55      1.00      0.71        12
       watch       0.67      0.83      0.74        12

    accuracy                           0.68       180
   macro avg       0.73      0.68      0.67       180
weighted avg       0.73      0.68      0.67       180

On the train set the model achieved loss: 0.2850 accuracy: 0.9098, on the validation set it was loss: 2.0039 accuracy: 0.6222, while on the independent test loss: 2.0159 accuracy: 0.6778. Overall the result isn't bad, but it's not great either. We will experiment with the parameters to see if we can make it better in the later part of the report.

The main modifications we made are related to the dataset - Caltech-101. It is sadly a dataset that is quite unbalanced with some redundant folders. We have removed such folders (Faces_easy and BACKGROUND GOOGLE) to avoid feeding our model data which is unimportant (Faces_easy and Faces are basically the same thing, BACKGROUND GOOGLE had no pattern to it). When it comes to balancing out, we have set a limit when it comes to using a class (100 representatives) and have used ImageDataGenerator from the keras library.

The model is clearly overfitting. We've done everything we could think of to stop the process but our best attempts only slowed it. If we had more data we would feed the model, but for now we've done our best. We used BatchNormalization, Dropout, MaxPooling to conquer this problem. We also put saving the best weights in EarlyStopping.

The categories that were classified correctly 100% of the time are Faces, menorah, airplanes and car_side. Then bonsai was classified correctly 92% of time, while watch achieved a 83%. There were no classes which were classified incorrectly 100%. The lowest classification rate was achieved by Leopard - a whooping 25%. It was misclassified as and airplane 5 times.A conclusion we've drawn from the confusion matrix is that we suspect that initially all images were classified as airplanes - since that's were a lot of classes were mistakenly put, some completely unrelated like Leopards and Grand_piano.

Firstly, we think that the number of classes is too high - since the limit is set based on the lowest number of representatives for the least populated class, here we got only 80 images per class. We hope that tuning dropout will provide some improvement. We also wanna try some different preprocessing approaches - maybe standardizing just isn't the best option for our dataset and therefore using a different function will yield better result (or maybe not using one at all).

Part 2 - Experimental comparative analysis

The purpose of the Part 2 is to examine the dependence of the quality of the resulting model on factors such as hyperparameters, model structure, number of training data, number of decision classes, etc. Below is a suggestion of simple tasks - most of them consist of a simple experiment to compare several models that differ in some detail.

Before you start

  • You don't have to complete all of the tasks, you can choose the issues that seem interesting to you. You can also suggest your own ideas for the experiment definition (in this case - consult with the teacher). As mentioned above, each task is worth $20\%$ of the project grade (the value of the last task is doubled, because it requires much more effort). Assuming you've completed the Part 1, as you may have already calculated:

    • You should complete at least 1 task almost correctly to pass ($40\% + 20\% = 60\% \geq 50\%$)
    • You should complete at least 3 tasks correctly to get the maximum score ($40\% + 3 \cdot 20\% = 100\%$)

    Of course, you can complete more than 3 tasks, then the extra points will ensure that even if one of the tasks is not completely correct, you still have an opportunity to get $100\%$.

  • It is possible to combine tasks into one large experiment, because most of the tasks consist of comparing models that differ in one aspect. Thus, instead of conducting individual experiments, you can perform grid search and modify a set of several parameters simultaneously. However, it is important to remember that the conclusions about a given experiment should take into account observations about each of the subtasks (different aspects).
  • If you perform several experiments one after another, take into account the conclusions from the previous ones. For example, if in the first experiment you are testing the quality of different models, and in the second you want to check the effect of the dataset size on the results, then in the second task you should use the conclusions of the first experiment (i.e. choose the model that performed better). However, if applying the conclusions of the first study will significantly increase the time of the next experiment, you do not need to apply them to subsequent tasks.
  • If you have not already done so, modify the functions in the Part 1 so that they can be used for the following subtasks. You can also rewrite the code and adapt it to the requirements of the tasks.
  • Pay attention to the last task - it is more complicated and requires you to find additional information, therefore it is worth 50%.

Collecting experimental data

In addition to implementing the code and running experiments to carry out a given task, you must draw conclusions about the results. In that case, it may be helpful to collect the following information about the compared models:

  • The number of network parameters (as a measure of the memory complexity of the model)
  • Training time (as a measure of the time complexity of the model)
  • Values of the obtained quality measures (loss function, accuracy - maybe other measures should be considered?) for train and test sets in the resulting model
  • Values of the loss function and measures in successive epochs (learning curves - can be useful in the context of discussing overfitting, optimization speed and model stability while learning)
  • Confusion matrix (mainly in the test set, but maybe the train set matrix will help to better understand the learning process)
  • Precision and recall (maybe some other measures?) for decision classes (assessment of classification difficulty for individual classes; comparison of the precision-recall curve between classes and between models)
  • Display some examples that were correctly and incorrectly classified by one or more models (example-based explanation)

In general, there are many possibilities to visualize data, to compare models with each other and draw conclusions from it. Only some suggestions are visible above, it is up to you what and how you decide to show in your conclusions and observations.

Task description

Each of the following tasks assumes the implementation of an appropriate code that will perform a given experiment - and therefore it will probably modify the dataset or model (its structure or hyperparameters). After implementing the experiment, write:

  • Which task did you choose?
  • What are the differences between the models or data sets you tested?

After obtaining the results for the compared models, datasets or any other aspect, describe your observations and conclusions about the experiment. Observations may in particular concern:

  • The overall predictive ability of the model - which model is better, which model is worse, maybe one is better with class X and one with class Y, etc.
  • The impact of the changes made on overfitting and underfitting
  • Comparison of the duration of learning, the complexity of the model
  • Assessment of whether it was profitable to make such a modification (or indicate the best option in your opinion)
  • Learning curve shape - in which model the optimization was faster, whether the loss function and accuracy on the test set decreased steadily, were there any deviations, etc.
  • Sample images where one model is better than the other - try to answer why?
  • If something is not working well, write about your assumptions, why it failed and what could be changed. If you want, try the changes you suggest and also describe whether it has brought the desired effect.

In general, it is worth describing everything that you find interesting in the context of the specific task. The description of the conclusions should be included in Markdown(s) (or in the report if you want to prepare one).

Task 2) The impact of the number of decision classes on the results (e.g. 10, 25, 50, all of the available classes)

2 classes

In [74]:
num_of_classes = 2
new_categories, limit = get_n_categories(num_of_classes)
if limit > 250:
    limit = 250
X, y = create_dataset(PATH, new_categories, limit = limit)
X = standardize_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X, y)
y_train = pd.get_dummies(y_train)
y_test = pd.get_dummies(y_test)
y_val = pd.get_dummies(y_test)
mapping = y_train.columns
y_train = np.asarray(y_train)
y_test = np.asarray(y_test)
y_val = np.asarray(y_test)
model = create_model(num_of_classes)
history = model.fit(datagen.flow(X_train, y_train, batch_size=32, shuffle=True), 
                    epochs=250,
                    steps_per_epoch=X_train.shape[0]//32,
                    validation_data=(X_val, y_val),
                    validation_steps=X_val.shape[0]//32,
                    verbose = 0,
                    callbacks=[
                        EarlyStopping(
                            monitor="val_accuracy",
                            patience=10,
                            restore_best_weights=True,
                            verbose = 1
                        )
                    ])
y_labels, pred_labels = get_predictions(model, X_test, y_test, mapping)
cr = display_confusion_matrix(y_labels, pred_labels, mapping)
Restoring model weights from the end of the best epoch: 3.
Epoch 13: early stopping
3/3 [==============================] - 0s 6ms/step - loss: 0.3888 - accuracy: 0.9459
WARNING:tensorflow:5 out of the last 16 calls to <function Model.make_predict_function.<locals>.predict_function at 0x7feb846013a0> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
3/3 [==============================] - 0s 6ms/step

5 classes

In [82]:
num_of_classes = 5
new_categories, limit = get_n_categories(num_of_classes)
if limit > 250:
    limit = 250
X, y = create_dataset(PATH, new_categories, limit = limit)
X = standardize_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X, y)
y_train = pd.get_dummies(y_train)
y_test = pd.get_dummies(y_test)
y_val = pd.get_dummies(y_test)
mapping = y_train.columns
y_train = np.asarray(y_train)
y_test = np.asarray(y_test)
y_val = np.asarray(y_test)
model = create_model(num_of_classes)
history = model.fit(datagen.flow(X_train, y_train, batch_size=32, shuffle=True), 
                    epochs=250,
                    steps_per_epoch=X_train.shape[0]//32,
                    validation_data=(X_val, y_val),
                    validation_steps=X_val.shape[0]//32,
                    callbacks=[
                        EarlyStopping(
                            monitor="val_accuracy",
                            patience=10,
                            restore_best_weights=True,
                            verbose = 1
                        )
                    ])
y_labels, pred_labels = get_predictions(model, X_test, y_test, mapping)
cr = display_confusion_matrix(y_labels, pred_labels, mapping)
Epoch 1/250
14/14 [==============================] - 2s 66ms/step - loss: 1.1839 - accuracy: 0.5550 - val_loss: 1.2925 - val_accuracy: 0.5789
Epoch 2/250
14/14 [==============================] - 1s 45ms/step - loss: 0.6865 - accuracy: 0.7433 - val_loss: 1.1642 - val_accuracy: 0.5789
Epoch 3/250
14/14 [==============================] - 1s 44ms/step - loss: 0.3949 - accuracy: 0.8445 - val_loss: 1.0394 - val_accuracy: 0.6947
Epoch 4/250
14/14 [==============================] - 1s 48ms/step - loss: 0.5039 - accuracy: 0.8254 - val_loss: 1.0294 - val_accuracy: 0.6421
Epoch 5/250
14/14 [==============================] - 1s 44ms/step - loss: 0.4661 - accuracy: 0.8254 - val_loss: 1.1407 - val_accuracy: 0.5474
Epoch 6/250
14/14 [==============================] - 1s 43ms/step - loss: 0.4384 - accuracy: 0.8349 - val_loss: 1.4451 - val_accuracy: 0.4316
Epoch 7/250
14/14 [==============================] - 1s 44ms/step - loss: 0.2569 - accuracy: 0.9187 - val_loss: 2.0125 - val_accuracy: 0.3368
Epoch 8/250
14/14 [==============================] - 1s 44ms/step - loss: 0.3931 - accuracy: 0.8708 - val_loss: 2.2108 - val_accuracy: 0.4105
Epoch 9/250
14/14 [==============================] - 1s 42ms/step - loss: 0.2706 - accuracy: 0.9043 - val_loss: 2.1233 - val_accuracy: 0.4421
Epoch 10/250
14/14 [==============================] - 1s 43ms/step - loss: 0.2215 - accuracy: 0.9282 - val_loss: 2.5719 - val_accuracy: 0.3368
Epoch 11/250
14/14 [==============================] - 1s 45ms/step - loss: 0.2223 - accuracy: 0.9062 - val_loss: 2.4088 - val_accuracy: 0.4632
Epoch 12/250
14/14 [==============================] - 1s 46ms/step - loss: 0.1877 - accuracy: 0.9211 - val_loss: 2.6735 - val_accuracy: 0.4632
Epoch 13/250
14/14 [==============================] - ETA: 0s - loss: 0.1598 - accuracy: 0.9450Restoring model weights from the end of the best epoch: 3.
14/14 [==============================] - 1s 44ms/step - loss: 0.1598 - accuracy: 0.9450 - val_loss: 2.0199 - val_accuracy: 0.5895
Epoch 13: early stopping
3/3 [==============================] - 0s 7ms/step - loss: 0.9707 - accuracy: 0.7579
3/3 [==============================] - 0s 5ms/step

10 classes

In [83]:
num_of_classes = 10
new_categories, limit = get_n_categories(num_of_classes)
if limit > 250:
    limit = 250
X, y = create_dataset(PATH, new_categories, limit = limit)
X = standardize_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X, y)
y_train = pd.get_dummies(y_train)
y_test = pd.get_dummies(y_test)
y_val = pd.get_dummies(y_test)
mapping = y_train.columns
y_train = np.asarray(y_train)
y_test = np.asarray(y_test)
y_val = np.asarray(y_test)
model = create_model(num_of_classes)
history = model.fit(datagen.flow(X_train, y_train, batch_size=32, shuffle=True), 
                    epochs=250,
                    steps_per_epoch=X_train.shape[0]//32,
                    validation_data=(X_val, y_val),
                    validation_steps=X_val.shape[0]//32,
                    callbacks=[
                        EarlyStopping(
                            monitor="val_accuracy",
                            patience=10,
                            restore_best_weights=True,
                            verbose = 1
                        )
                    ])
y_labels, pred_labels = get_predictions(model, X_test, y_test, mapping)
cr = display_confusion_matrix(y_labels, pred_labels, mapping)
Epoch 1/250
22/22 [==============================] - 2s 56ms/step - loss: 2.1332 - accuracy: 0.2861 - val_loss: 2.1428 - val_accuracy: 0.2143
Epoch 2/250
22/22 [==============================] - 1s 46ms/step - loss: 1.3550 - accuracy: 0.5457 - val_loss: 2.0991 - val_accuracy: 0.1429
Epoch 3/250
22/22 [==============================] - 1s 44ms/step - loss: 1.0635 - accuracy: 0.6445 - val_loss: 2.2322 - val_accuracy: 0.1429
Epoch 4/250
22/22 [==============================] - 1s 44ms/step - loss: 0.8511 - accuracy: 0.7286 - val_loss: 2.2972 - val_accuracy: 0.1429
Epoch 5/250
22/22 [==============================] - 1s 43ms/step - loss: 0.7714 - accuracy: 0.7316 - val_loss: 2.5286 - val_accuracy: 0.1857
Epoch 6/250
22/22 [==============================] - 1s 45ms/step - loss: 0.6683 - accuracy: 0.7876 - val_loss: 2.8745 - val_accuracy: 0.2143
Epoch 7/250
22/22 [==============================] - 1s 44ms/step - loss: 0.6606 - accuracy: 0.7788 - val_loss: 3.1792 - val_accuracy: 0.1857
Epoch 8/250
22/22 [==============================] - 1s 44ms/step - loss: 0.5767 - accuracy: 0.8068 - val_loss: 3.1439 - val_accuracy: 0.2500
Epoch 9/250
22/22 [==============================] - 1s 43ms/step - loss: 0.4767 - accuracy: 0.8466 - val_loss: 3.0468 - val_accuracy: 0.3786
Epoch 10/250
22/22 [==============================] - 1s 45ms/step - loss: 0.4887 - accuracy: 0.8363 - val_loss: 3.7947 - val_accuracy: 0.2571
Epoch 11/250
22/22 [==============================] - 1s 42ms/step - loss: 0.3586 - accuracy: 0.8850 - val_loss: 3.1499 - val_accuracy: 0.2857
Epoch 12/250
22/22 [==============================] - 1s 44ms/step - loss: 0.4021 - accuracy: 0.8537 - val_loss: 2.7892 - val_accuracy: 0.3429
Epoch 13/250
22/22 [==============================] - 1s 44ms/step - loss: 0.3967 - accuracy: 0.8776 - val_loss: 3.5360 - val_accuracy: 0.2714
Epoch 14/250
22/22 [==============================] - 1s 44ms/step - loss: 0.4073 - accuracy: 0.8580 - val_loss: 3.2046 - val_accuracy: 0.3143
Epoch 15/250
22/22 [==============================] - 1s 44ms/step - loss: 0.3079 - accuracy: 0.8935 - val_loss: 2.7221 - val_accuracy: 0.4000
Epoch 16/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2711 - accuracy: 0.9056 - val_loss: 3.1588 - val_accuracy: 0.2643
Epoch 17/250
22/22 [==============================] - 1s 44ms/step - loss: 0.3072 - accuracy: 0.9012 - val_loss: 2.4674 - val_accuracy: 0.4214
Epoch 18/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2314 - accuracy: 0.9248 - val_loss: 1.8188 - val_accuracy: 0.5214
Epoch 19/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2589 - accuracy: 0.9041 - val_loss: 1.5509 - val_accuracy: 0.5071
Epoch 20/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2777 - accuracy: 0.8997 - val_loss: 1.8708 - val_accuracy: 0.5000
Epoch 21/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2303 - accuracy: 0.9189 - val_loss: 1.3223 - val_accuracy: 0.5571
Epoch 22/250
22/22 [==============================] - 1s 47ms/step - loss: 0.2331 - accuracy: 0.9233 - val_loss: 1.2697 - val_accuracy: 0.5286
Epoch 23/250
22/22 [==============================] - 1s 45ms/step - loss: 0.2040 - accuracy: 0.9322 - val_loss: 1.3727 - val_accuracy: 0.6000
Epoch 24/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2091 - accuracy: 0.9454 - val_loss: 1.1802 - val_accuracy: 0.6643
Epoch 25/250
22/22 [==============================] - 1s 48ms/step - loss: 0.1903 - accuracy: 0.9336 - val_loss: 1.4457 - val_accuracy: 0.6929
Epoch 26/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2121 - accuracy: 0.9292 - val_loss: 1.0951 - val_accuracy: 0.6929
Epoch 27/250
22/22 [==============================] - 1s 45ms/step - loss: 0.3904 - accuracy: 0.8820 - val_loss: 1.0837 - val_accuracy: 0.6357
Epoch 28/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2553 - accuracy: 0.9307 - val_loss: 1.4618 - val_accuracy: 0.6000
Epoch 29/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2164 - accuracy: 0.9263 - val_loss: 0.8945 - val_accuracy: 0.7286
Epoch 30/250
22/22 [==============================] - 1s 57ms/step - loss: 0.1681 - accuracy: 0.9484 - val_loss: 1.3700 - val_accuracy: 0.6357
Epoch 31/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1963 - accuracy: 0.9277 - val_loss: 1.0489 - val_accuracy: 0.6714
Epoch 32/250
22/22 [==============================] - 1s 45ms/step - loss: 0.1562 - accuracy: 0.9440 - val_loss: 1.1283 - val_accuracy: 0.7000
Epoch 33/250
22/22 [==============================] - 1s 42ms/step - loss: 0.1570 - accuracy: 0.9528 - val_loss: 0.8972 - val_accuracy: 0.7214
Epoch 34/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1802 - accuracy: 0.9336 - val_loss: 0.8634 - val_accuracy: 0.6929
Epoch 35/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1538 - accuracy: 0.9440 - val_loss: 1.6850 - val_accuracy: 0.7071
Epoch 36/250
22/22 [==============================] - 1s 46ms/step - loss: 0.2158 - accuracy: 0.9233 - val_loss: 0.9484 - val_accuracy: 0.7429
Epoch 37/250
22/22 [==============================] - 1s 45ms/step - loss: 0.1599 - accuracy: 0.9410 - val_loss: 0.5889 - val_accuracy: 0.7571
Epoch 38/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1873 - accuracy: 0.9469 - val_loss: 1.0566 - val_accuracy: 0.7143
Epoch 39/250
22/22 [==============================] - 1s 46ms/step - loss: 0.1495 - accuracy: 0.9572 - val_loss: 0.8230 - val_accuracy: 0.7000
Epoch 40/250
22/22 [==============================] - 1s 44ms/step - loss: 0.0964 - accuracy: 0.9646 - val_loss: 0.8623 - val_accuracy: 0.7786
Epoch 41/250
22/22 [==============================] - 1s 45ms/step - loss: 0.1810 - accuracy: 0.9499 - val_loss: 1.2128 - val_accuracy: 0.6214
Epoch 42/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1485 - accuracy: 0.9587 - val_loss: 0.9568 - val_accuracy: 0.7143
Epoch 43/250
22/22 [==============================] - 1s 43ms/step - loss: 0.1772 - accuracy: 0.9572 - val_loss: 1.2124 - val_accuracy: 0.6643
Epoch 44/250
22/22 [==============================] - 1s 44ms/step - loss: 0.2116 - accuracy: 0.9440 - val_loss: 1.6112 - val_accuracy: 0.6714
Epoch 45/250
22/22 [==============================] - 1s 43ms/step - loss: 0.1610 - accuracy: 0.9513 - val_loss: 0.9248 - val_accuracy: 0.7357
Epoch 46/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1766 - accuracy: 0.9425 - val_loss: 0.6407 - val_accuracy: 0.7643
Epoch 47/250
22/22 [==============================] - 1s 44ms/step - loss: 0.0792 - accuracy: 0.9705 - val_loss: 0.5251 - val_accuracy: 0.8214
Epoch 48/250
22/22 [==============================] - 1s 47ms/step - loss: 0.1683 - accuracy: 0.9513 - val_loss: 1.5224 - val_accuracy: 0.6786
Epoch 49/250
22/22 [==============================] - 1s 43ms/step - loss: 0.1173 - accuracy: 0.9617 - val_loss: 1.3347 - val_accuracy: 0.6786
Epoch 50/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1321 - accuracy: 0.9587 - val_loss: 1.2806 - val_accuracy: 0.7357
Epoch 51/250
22/22 [==============================] - 1s 42ms/step - loss: 0.1631 - accuracy: 0.9440 - val_loss: 1.2635 - val_accuracy: 0.7214
Epoch 52/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1429 - accuracy: 0.9572 - val_loss: 1.0420 - val_accuracy: 0.7429
Epoch 53/250
22/22 [==============================] - 1s 44ms/step - loss: 0.1435 - accuracy: 0.9499 - val_loss: 1.2496 - val_accuracy: 0.6429
Epoch 54/250
22/22 [==============================] - 1s 43ms/step - loss: 0.1128 - accuracy: 0.9646 - val_loss: 1.7324 - val_accuracy: 0.6786
Epoch 55/250
22/22 [==============================] - 1s 45ms/step - loss: 0.1231 - accuracy: 0.9572 - val_loss: 0.8831 - val_accuracy: 0.7857
Epoch 56/250
22/22 [==============================] - 1s 45ms/step - loss: 0.1157 - accuracy: 0.9558 - val_loss: 1.8700 - val_accuracy: 0.6571
Epoch 57/250
22/22 [==============================] - ETA: 0s - loss: 0.0998 - accuracy: 0.9705Restoring model weights from the end of the best epoch: 47.
22/22 [==============================] - 1s 44ms/step - loss: 0.0998 - accuracy: 0.9705 - val_loss: 1.3246 - val_accuracy: 0.7929
Epoch 57: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.0768 - accuracy: 0.8071
5/5 [==============================] - 0s 4ms/step

20 classes

In [86]:
num_of_classes = 20
new_categories, limit = get_n_categories(num_of_classes)
if limit > 250:
    limit = 250
X, y = create_dataset(PATH, new_categories, limit = limit)
X = standardize_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X, y)
y_train = pd.get_dummies(y_train)
y_test = pd.get_dummies(y_test)
y_val = pd.get_dummies(y_test)
mapping = y_train.columns
y_train = np.asarray(y_train)
y_test = np.asarray(y_test)
y_val = np.asarray(y_test)
model = create_model(num_of_classes)
history = model.fit(datagen.flow(X_train, y_train, batch_size=32, shuffle=True), 
                    epochs=250,
                    steps_per_epoch=X_train.shape[0]//32,
                    validation_data=(X_val, y_val),
                    validation_steps=X_val.shape[0]//32,
                    callbacks=[
                        EarlyStopping(
                            monitor="val_accuracy",
                            patience=10,
                            restore_best_weights=True,
                            verbose = 1
                        )
                    ])
y_labels, pred_labels = get_predictions(model, X_test, y_test, mapping)
cr = display_confusion_matrix(y_labels, pred_labels, mapping)
Epoch 1/250
38/38 [==============================] - 3s 51ms/step - loss: 2.8578 - accuracy: 0.1538 - val_loss: 2.8236 - val_accuracy: 0.1958
Epoch 2/250
38/38 [==============================] - 2s 45ms/step - loss: 2.2268 - accuracy: 0.3434 - val_loss: 2.9719 - val_accuracy: 0.0917
Epoch 3/250
38/38 [==============================] - 2s 44ms/step - loss: 1.8998 - accuracy: 0.4192 - val_loss: 4.1745 - val_accuracy: 0.0792
Epoch 4/250
38/38 [==============================] - 2s 44ms/step - loss: 1.7060 - accuracy: 0.5093 - val_loss: 4.9434 - val_accuracy: 0.0750
Epoch 5/250
38/38 [==============================] - 2s 45ms/step - loss: 1.4986 - accuracy: 0.5429 - val_loss: 5.1863 - val_accuracy: 0.1500
Epoch 6/250
38/38 [==============================] - 2s 44ms/step - loss: 1.3960 - accuracy: 0.5758 - val_loss: 5.2903 - val_accuracy: 0.1583
Epoch 7/250
38/38 [==============================] - 2s 44ms/step - loss: 1.2244 - accuracy: 0.6170 - val_loss: 4.4924 - val_accuracy: 0.2250
Epoch 8/250
38/38 [==============================] - 2s 44ms/step - loss: 1.1977 - accuracy: 0.6271 - val_loss: 4.0354 - val_accuracy: 0.2542
Epoch 9/250
38/38 [==============================] - 2s 44ms/step - loss: 1.0962 - accuracy: 0.6709 - val_loss: 3.6933 - val_accuracy: 0.2833
Epoch 10/250
38/38 [==============================] - 2s 45ms/step - loss: 1.0504 - accuracy: 0.6818 - val_loss: 3.9077 - val_accuracy: 0.2708
Epoch 11/250
38/38 [==============================] - 2s 44ms/step - loss: 0.9505 - accuracy: 0.7189 - val_loss: 2.7093 - val_accuracy: 0.4000
Epoch 12/250
38/38 [==============================] - 2s 43ms/step - loss: 0.9024 - accuracy: 0.7037 - val_loss: 2.5433 - val_accuracy: 0.3958
Epoch 13/250
38/38 [==============================] - 2s 45ms/step - loss: 0.8305 - accuracy: 0.7542 - val_loss: 2.8060 - val_accuracy: 0.4083
Epoch 14/250
38/38 [==============================] - 2s 43ms/step - loss: 0.7258 - accuracy: 0.7727 - val_loss: 2.2641 - val_accuracy: 0.5000
Epoch 15/250
38/38 [==============================] - 2s 43ms/step - loss: 0.7395 - accuracy: 0.7702 - val_loss: 2.0861 - val_accuracy: 0.4833
Epoch 16/250
38/38 [==============================] - 2s 44ms/step - loss: 0.6839 - accuracy: 0.7887 - val_loss: 2.1363 - val_accuracy: 0.4958
Epoch 17/250
38/38 [==============================] - 2s 43ms/step - loss: 0.5780 - accuracy: 0.8308 - val_loss: 2.4594 - val_accuracy: 0.4958
Epoch 18/250
38/38 [==============================] - 2s 43ms/step - loss: 0.7057 - accuracy: 0.7710 - val_loss: 1.8429 - val_accuracy: 0.5917
Epoch 19/250
38/38 [==============================] - 2s 43ms/step - loss: 0.5576 - accuracy: 0.8249 - val_loss: 2.1050 - val_accuracy: 0.5750
Epoch 20/250
38/38 [==============================] - 2s 43ms/step - loss: 0.6522 - accuracy: 0.8013 - val_loss: 2.3175 - val_accuracy: 0.5667
Epoch 21/250
38/38 [==============================] - 2s 43ms/step - loss: 0.6563 - accuracy: 0.7997 - val_loss: 2.4822 - val_accuracy: 0.4625
Epoch 22/250
38/38 [==============================] - 2s 43ms/step - loss: 0.5416 - accuracy: 0.8392 - val_loss: 2.4610 - val_accuracy: 0.5125
Epoch 23/250
38/38 [==============================] - 2s 53ms/step - loss: 0.5606 - accuracy: 0.8232 - val_loss: 2.7594 - val_accuracy: 0.5083
Epoch 24/250
38/38 [==============================] - 3s 87ms/step - loss: 0.4453 - accuracy: 0.8662 - val_loss: 2.6692 - val_accuracy: 0.5125
Epoch 25/250
38/38 [==============================] - 2s 46ms/step - loss: 0.4775 - accuracy: 0.8460 - val_loss: 2.2621 - val_accuracy: 0.5708
Epoch 26/250
38/38 [==============================] - 2s 45ms/step - loss: 0.4904 - accuracy: 0.8283 - val_loss: 2.8207 - val_accuracy: 0.4458
Epoch 27/250
38/38 [==============================] - 2s 42ms/step - loss: 0.4219 - accuracy: 0.8519 - val_loss: 2.5255 - val_accuracy: 0.5583
Epoch 28/250
38/38 [==============================] - ETA: 0s - loss: 0.4571 - accuracy: 0.8552Restoring model weights from the end of the best epoch: 18.
38/38 [==============================] - 2s 50ms/step - loss: 0.4571 - accuracy: 0.8552 - val_loss: 2.8929 - val_accuracy: 0.4917
Epoch 28: early stopping
8/8 [==============================] - 0s 7ms/step - loss: 2.9148 - accuracy: 0.4500
8/8 [==============================] - 0s 5ms/step

50 classes

In [88]:
num_of_classes = 50
new_categories, limit = get_n_categories(num_of_classes)
if limit > 250:
    limit = 250
X, y = create_dataset(PATH, new_categories, limit = limit)
X = standardize_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X, y)
y_train = pd.get_dummies(y_train)
y_test = pd.get_dummies(y_test)
y_val = pd.get_dummies(y_test)
mapping = y_train.columns
y_train = np.asarray(y_train)
y_test = np.asarray(y_test)
y_val = np.asarray(y_test)
model = create_model(num_of_classes)
history = model.fit(datagen.flow(X_train, y_train, batch_size=32, shuffle=True), 
                    epochs=250,
                    steps_per_epoch=X_train.shape[0]//32,
                    validation_data=(X_val, y_val),
                    validation_steps=X_val.shape[0]//32,
                    callbacks=[
                        EarlyStopping(
                            monitor="val_accuracy",
                            patience=20,
                            restore_best_weights=True,
                            verbose = 1
                        )
                    ])
y_labels, pred_labels = get_predictions(model, X_test, y_test, mapping)
cr = display_confusion_matrix(y_labels, pred_labels, mapping)
Epoch 1/250
67/67 [==============================] - 4s 49ms/step - loss: 3.8663 - accuracy: 0.0661 - val_loss: 4.2330 - val_accuracy: 0.0425
Epoch 2/250
67/67 [==============================] - 3s 44ms/step - loss: 3.3152 - accuracy: 0.1676 - val_loss: 5.4132 - val_accuracy: 0.0250
Epoch 3/250
67/67 [==============================] - 3s 43ms/step - loss: 2.9809 - accuracy: 0.2342 - val_loss: 7.4410 - val_accuracy: 0.0225
Epoch 4/250
67/67 [==============================] - 3s 44ms/step - loss: 2.7380 - accuracy: 0.2795 - val_loss: 6.8443 - val_accuracy: 0.0725
Epoch 5/250
67/67 [==============================] - 3s 44ms/step - loss: 2.5037 - accuracy: 0.3338 - val_loss: 6.1258 - val_accuracy: 0.0925
Epoch 6/250
67/67 [==============================] - 3s 45ms/step - loss: 2.2864 - accuracy: 0.3829 - val_loss: 5.6640 - val_accuracy: 0.0950
Epoch 7/250
67/67 [==============================] - 3s 44ms/step - loss: 2.1542 - accuracy: 0.4112 - val_loss: 5.7749 - val_accuracy: 0.1425
Epoch 8/250
67/67 [==============================] - 3s 44ms/step - loss: 2.0191 - accuracy: 0.4551 - val_loss: 6.1208 - val_accuracy: 0.1275
Epoch 9/250
67/67 [==============================] - 3s 43ms/step - loss: 1.9096 - accuracy: 0.4783 - val_loss: 6.2609 - val_accuracy: 0.1650
Epoch 10/250
67/67 [==============================] - 3s 44ms/step - loss: 1.7605 - accuracy: 0.5123 - val_loss: 5.5954 - val_accuracy: 0.1775
Epoch 11/250
67/67 [==============================] - 3s 44ms/step - loss: 1.6088 - accuracy: 0.5505 - val_loss: 6.0026 - val_accuracy: 0.1750
Epoch 12/250
67/67 [==============================] - 3s 44ms/step - loss: 1.5149 - accuracy: 0.5727 - val_loss: 5.6696 - val_accuracy: 0.1675
Epoch 13/250
67/67 [==============================] - 3s 44ms/step - loss: 1.4665 - accuracy: 0.5954 - val_loss: 5.6656 - val_accuracy: 0.1825
Epoch 14/250
67/67 [==============================] - 3s 44ms/step - loss: 1.3502 - accuracy: 0.6171 - val_loss: 6.3449 - val_accuracy: 0.2250
Epoch 15/250
67/67 [==============================] - 3s 44ms/step - loss: 1.2347 - accuracy: 0.6441 - val_loss: 6.1902 - val_accuracy: 0.1875
Epoch 16/250
67/67 [==============================] - 3s 44ms/step - loss: 1.2241 - accuracy: 0.6478 - val_loss: 6.8853 - val_accuracy: 0.1800
Epoch 17/250
67/67 [==============================] - 3s 45ms/step - loss: 1.2071 - accuracy: 0.6662 - val_loss: 7.0680 - val_accuracy: 0.1850
Epoch 18/250
67/67 [==============================] - 3s 44ms/step - loss: 1.1565 - accuracy: 0.6723 - val_loss: 6.5838 - val_accuracy: 0.2025
Epoch 19/250
67/67 [==============================] - 3s 44ms/step - loss: 1.0719 - accuracy: 0.6922 - val_loss: 7.2711 - val_accuracy: 0.1950
Epoch 20/250
67/67 [==============================] - 3s 44ms/step - loss: 1.0596 - accuracy: 0.6964 - val_loss: 7.8690 - val_accuracy: 0.1925
Epoch 21/250
67/67 [==============================] - 3s 44ms/step - loss: 0.9729 - accuracy: 0.7148 - val_loss: 7.1163 - val_accuracy: 0.1975
Epoch 22/250
67/67 [==============================] - 3s 44ms/step - loss: 0.9662 - accuracy: 0.7262 - val_loss: 7.4838 - val_accuracy: 0.1800
Epoch 23/250
67/67 [==============================] - 3s 43ms/step - loss: 0.8407 - accuracy: 0.7535 - val_loss: 8.0251 - val_accuracy: 0.1750
Epoch 24/250
67/67 [==============================] - 3s 45ms/step - loss: 0.8328 - accuracy: 0.7663 - val_loss: 8.7106 - val_accuracy: 0.1550
Epoch 25/250
67/67 [==============================] - 3s 44ms/step - loss: 0.7833 - accuracy: 0.7790 - val_loss: 7.9304 - val_accuracy: 0.1900
Epoch 26/250
67/67 [==============================] - 3s 43ms/step - loss: 0.8328 - accuracy: 0.7630 - val_loss: 8.2704 - val_accuracy: 0.2025
Epoch 27/250
67/67 [==============================] - 3s 44ms/step - loss: 0.7445 - accuracy: 0.7753 - val_loss: 7.7114 - val_accuracy: 0.2175
Epoch 28/250
67/67 [==============================] - 3s 44ms/step - loss: 0.6988 - accuracy: 0.7932 - val_loss: 8.7405 - val_accuracy: 0.1575
Epoch 29/250
67/67 [==============================] - 3s 44ms/step - loss: 0.6955 - accuracy: 0.7923 - val_loss: 8.1953 - val_accuracy: 0.1950
Epoch 30/250
67/67 [==============================] - 3s 43ms/step - loss: 0.7013 - accuracy: 0.7923 - val_loss: 9.0862 - val_accuracy: 0.1725
Epoch 31/250
67/67 [==============================] - 3s 44ms/step - loss: 0.6599 - accuracy: 0.8154 - val_loss: 8.0451 - val_accuracy: 0.2450
Epoch 32/250
67/67 [==============================] - 3s 43ms/step - loss: 0.6644 - accuracy: 0.8045 - val_loss: 8.8855 - val_accuracy: 0.2000
Epoch 33/250
67/67 [==============================] - 3s 44ms/step - loss: 0.6501 - accuracy: 0.8045 - val_loss: 8.1056 - val_accuracy: 0.2450
Epoch 34/250
67/67 [==============================] - 3s 43ms/step - loss: 0.6475 - accuracy: 0.8135 - val_loss: 8.3488 - val_accuracy: 0.2125
Epoch 35/250
67/67 [==============================] - 3s 44ms/step - loss: 0.5613 - accuracy: 0.8324 - val_loss: 9.3916 - val_accuracy: 0.1950
Epoch 36/250
67/67 [==============================] - 3s 44ms/step - loss: 0.5365 - accuracy: 0.8347 - val_loss: 9.6908 - val_accuracy: 0.2125
Epoch 37/250
67/67 [==============================] - 3s 44ms/step - loss: 0.6278 - accuracy: 0.8064 - val_loss: 9.9486 - val_accuracy: 0.1650
Epoch 38/250
67/67 [==============================] - 3s 44ms/step - loss: 0.5262 - accuracy: 0.8338 - val_loss: 9.1462 - val_accuracy: 0.2150
Epoch 39/250
67/67 [==============================] - 3s 47ms/step - loss: 0.5563 - accuracy: 0.8371 - val_loss: 8.7043 - val_accuracy: 0.2325
Epoch 40/250
67/67 [==============================] - 3s 44ms/step - loss: 0.5223 - accuracy: 0.8409 - val_loss: 9.1153 - val_accuracy: 0.1875
Epoch 41/250
67/67 [==============================] - 3s 44ms/step - loss: 0.5006 - accuracy: 0.8437 - val_loss: 9.3604 - val_accuracy: 0.1950
Epoch 42/250
67/67 [==============================] - 3s 44ms/step - loss: 0.5124 - accuracy: 0.8499 - val_loss: 10.5904 - val_accuracy: 0.1975
Epoch 43/250
67/67 [==============================] - 3s 47ms/step - loss: 0.4407 - accuracy: 0.8706 - val_loss: 9.2029 - val_accuracy: 0.2125
Epoch 44/250
67/67 [==============================] - 3s 44ms/step - loss: 0.4450 - accuracy: 0.8631 - val_loss: 10.3053 - val_accuracy: 0.1825
Epoch 45/250
67/67 [==============================] - 3s 45ms/step - loss: 0.4319 - accuracy: 0.8683 - val_loss: 10.3407 - val_accuracy: 0.2000
Epoch 46/250
67/67 [==============================] - 3s 45ms/step - loss: 0.4538 - accuracy: 0.8588 - val_loss: 10.4697 - val_accuracy: 0.1950
Epoch 47/250
67/67 [==============================] - 3s 46ms/step - loss: 0.3951 - accuracy: 0.8862 - val_loss: 10.9804 - val_accuracy: 0.1675
Epoch 48/250
67/67 [==============================] - 3s 44ms/step - loss: 0.5171 - accuracy: 0.8451 - val_loss: 9.9551 - val_accuracy: 0.2075
Epoch 49/250
67/67 [==============================] - 3s 44ms/step - loss: 0.4601 - accuracy: 0.8574 - val_loss: 11.0057 - val_accuracy: 0.1750
Epoch 50/250
67/67 [==============================] - 3s 44ms/step - loss: 0.4111 - accuracy: 0.8678 - val_loss: 10.4553 - val_accuracy: 0.1700
Epoch 51/250
67/67 [==============================] - ETA: 0s - loss: 0.4890 - accuracy: 0.8579Restoring model weights from the end of the best epoch: 31.
67/67 [==============================] - 3s 44ms/step - loss: 0.4890 - accuracy: 0.8579 - val_loss: 10.6318 - val_accuracy: 0.1975
Epoch 51: early stopping
13/13 [==============================] - 0s 5ms/step - loss: 9.1932 - accuracy: 0.2500
13/13 [==============================] - 0s 3ms/step
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
Loss Accuracy
2 classes 0.39 0.95
5 classes 0.97 0.76
10 classes 1.08 0.81
20 classes 2.91 0.45
50 classes 9.19 0.25

Well, the model got much better accuracy scores when there were less classes to predict, as we hoped. The results dissapointed us a bit though, as we have found that it didn't improve quite as much as we hoped.

The conclusion we have drawn from this experiment is something that we already were suspecting - the model tends to assign all elements to one class (while also having a class that it very rarely assigns to, but only in case of more than 5 classes).

There's also the problem that it learns randomly and converges very fast - we thought that maybe if the patience was bigger this problem would be solved, but we have found that is not the case - we have increased the patience in case of 50 classes because it made sense.

Task 3) Compare the models without and with Dropout with different rates (e.g. 0.1, 0.2, 0.5)

In [89]:
new_categories, limit = get_n_categories(15)
X, y = create_dataset(PATH, new_categories, limit = limit)
X = standardize_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X, y)
y_train = pd.get_dummies(y_train)
y_test = pd.get_dummies(y_test)
y_val = pd.get_dummies(y_test)
mapping = y_train.columns
y_train = np.asarray(y_train)
y_test = np.asarray(y_test)
y_val = np.asarray(y_test)
In [90]:
drop_values = [0.1, 0.2, 0.3, 0.4, 0.5]
all_dropouts = list(itertools.combinations_with_replacement(drop_values, 3))
In [91]:
accu_loss_dropout = []
for dropout in all_dropouts:
    model = create_model(15, dropout = list(dropout))
    history = model.fit(X_train, y_train, 
                        batch_size=32,
                        epochs=250,
                        steps_per_epoch=X_train.shape[0]//32,
                        validation_data=(X_val, y_val),
                        validation_steps=X_val.shape[0]//32,
                        verbose = 0,
                        callbacks=[
                            EarlyStopping(
                                monitor="val_accuracy",
                                patience=10,
                                restore_best_weights=True,
                                verbose = 1
                            )
                        ])
    results = model.evaluate(X_test, y_test, batch_size=32)
    accu_loss_dropout.append(results)
Restoring model weights from the end of the best epoch: 23.
Epoch 33: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 0.9045 - accuracy: 0.7222
Restoring model weights from the end of the best epoch: 20.
Epoch 30: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 0.9998 - accuracy: 0.7778
Restoring model weights from the end of the best epoch: 20.
Epoch 30: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.0017 - accuracy: 0.7389
Restoring model weights from the end of the best epoch: 31.
Epoch 41: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.1853 - accuracy: 0.8167
Restoring model weights from the end of the best epoch: 18.
Epoch 28: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.1139 - accuracy: 0.6722
Restoring model weights from the end of the best epoch: 22.
Epoch 32: early stopping
6/6 [==============================] - 0s 65ms/step - loss: 1.2529 - accuracy: 0.7389
Restoring model weights from the end of the best epoch: 11.
Epoch 21: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.4110 - accuracy: 0.6778
Restoring model weights from the end of the best epoch: 18.
Epoch 28: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.2452 - accuracy: 0.6833
Restoring model weights from the end of the best epoch: 30.
Epoch 40: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 0.9157 - accuracy: 0.7500
Restoring model weights from the end of the best epoch: 16.
Epoch 26: early stopping
6/6 [==============================] - 0s 6ms/step - loss: 1.3874 - accuracy: 0.6556
Restoring model weights from the end of the best epoch: 26.
Epoch 36: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.4346 - accuracy: 0.6667
Restoring model weights from the end of the best epoch: 14.
Epoch 24: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.3019 - accuracy: 0.7056
Restoring model weights from the end of the best epoch: 22.
Epoch 32: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.6980 - accuracy: 0.6889
Restoring model weights from the end of the best epoch: 14.
Epoch 24: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.3146 - accuracy: 0.6444
Restoring model weights from the end of the best epoch: 33.
Epoch 43: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.2310 - accuracy: 0.7500
Restoring model weights from the end of the best epoch: 21.
Epoch 31: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.2507 - accuracy: 0.7278
Restoring model weights from the end of the best epoch: 27.
Epoch 37: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.3516 - accuracy: 0.7222
Restoring model weights from the end of the best epoch: 33.
Epoch 43: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.2218 - accuracy: 0.7833
Restoring model weights from the end of the best epoch: 22.
Epoch 32: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.1990 - accuracy: 0.7000
Restoring model weights from the end of the best epoch: 22.
Epoch 32: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.1665 - accuracy: 0.7167
Restoring model weights from the end of the best epoch: 25.
Epoch 35: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.4040 - accuracy: 0.7444
Restoring model weights from the end of the best epoch: 20.
Epoch 30: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.6574 - accuracy: 0.6500
Restoring model weights from the end of the best epoch: 19.
Epoch 29: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.0692 - accuracy: 0.6889
Restoring model weights from the end of the best epoch: 23.
Epoch 33: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.3411 - accuracy: 0.7000
Restoring model weights from the end of the best epoch: 30.
Epoch 40: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.8692 - accuracy: 0.6389
Restoring model weights from the end of the best epoch: 22.
Epoch 32: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.4647 - accuracy: 0.6889
Restoring model weights from the end of the best epoch: 19.
Epoch 29: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.7749 - accuracy: 0.6222
Restoring model weights from the end of the best epoch: 1.
Epoch 11: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 2.3950 - accuracy: 0.3778
Restoring model weights from the end of the best epoch: 22.
Epoch 32: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.3537 - accuracy: 0.6944
Restoring model weights from the end of the best epoch: 14.
Epoch 24: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.5059 - accuracy: 0.6500
Restoring model weights from the end of the best epoch: 20.
Epoch 30: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.3231 - accuracy: 0.7222
Restoring model weights from the end of the best epoch: 30.
Epoch 40: early stopping
6/6 [==============================] - 0s 6ms/step - loss: 2.8101 - accuracy: 0.6278
Restoring model weights from the end of the best epoch: 29.
Epoch 39: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 2.1378 - accuracy: 0.6500
Restoring model weights from the end of the best epoch: 1.
Epoch 11: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 2.3813 - accuracy: 0.3333
Restoring model weights from the end of the best epoch: 17.
Epoch 27: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 2.4579 - accuracy: 0.5389
In [95]:
bar_dropouts_accu = dict()
bar_dropouts_loss = dict()
for i in range(len(accu_loss_dropout)):
    bar_dropouts_accu[all_dropouts[i]] = accu_loss_dropout[i][1]
    bar_dropouts_loss[all_dropouts[i]] = accu_loss_dropout[i][0]

We encountered an error, cause matplotlib only took into account displaying 32 elements on a bar chart, and we have 35

In [98]:
def splitlist(input_list):
    n = len(input_list)//2
    first_half = input_list[:n]
    sec_half = input_list[n:]
    return first_half,sec_half
In [118]:
x1, x2 = splitlist(range(0, len(all_dropouts)))
y1_a, y2_a = splitlist(list(bar_dropouts_accu.values()))
y1_l, y2_l = splitlist(list(bar_dropouts_loss.values()))

fig = plt.figure(figsize = (20, 10))

X_axis = np.arange(len(x1))

plt.subplot(1, 2, 1)
plt.bar(X_axis - 0.2, y1_a, color ='maroon', width = 0.4, label="accuracy")
plt.bar(X_axis + 0.2, y1_l, color ='green', width = 0.4, label="loss")
plt.xlabel("Dropout values")
plt.legend(loc="upper left")
plt.ylim(0, 3)

X_axis = np.arange(len(x2))

plt.subplot(1, 2, 2)
plt.bar(X_axis - 0.2, y2_a, color ='maroon', width = 0.4, label="accuracy")
plt.bar(X_axis + 0.2, y2_l, color ='green', width = 0.4,  label="loss")
plt.xlabel("Dropout values")
plt.legend(loc="upper left")
plt.ylim(0, 3)


plt.tight_layout()
plt.show()

Looking at the plots, the best accuracy to loss ratio was achieved by dropout no. 8. Let's peak at it.

In [119]:
all_dropouts[8]
Out[119]:
(0.1, 0.2, 0.5)

This is a nice conclusion and it might help with overfitting - low values in the beginning allow the model to learn sth, and then comes the 0.5 dropout to cut out all the unimportant parts.

In [120]:
best_dropout = all_dropouts[8]

We didn't use ImageGenerator here to make the test more accurate (less random and more reliable).

Task 5) Compare the models without and with batch normalization

In [124]:
accu_loss_batch = []
for flag in [True, False]:
    model = create_model(15, normalize_flag = flag, dropout = best_dropout)
    history = model.fit(X_train, y_train, 
                        batch_size=32,
                        epochs=250,
                        steps_per_epoch=X_train.shape[0]//32,
                        validation_data=(X_val, y_val),
                        validation_steps=X_val.shape[0]//32,
                        verbose = 0,
                        callbacks=[
                            EarlyStopping(
                                monitor="val_accuracy",
                                patience=10,
                                restore_best_weights=True,
                                verbose = 1
                            )
                        ])
    results = model.evaluate(X_test, y_test, batch_size=32)
    accu_loss_batch.append(results)
Restoring model weights from the end of the best epoch: 20.
Epoch 30: early stopping
6/6 [==============================] - 0s 4ms/step - loss: 1.6829 - accuracy: 0.6667
Restoring model weights from the end of the best epoch: 17.
Epoch 27: early stopping
6/6 [==============================] - 0s 5ms/step - loss: 1.0587 - accuracy: 0.7222
In [126]:
accu_loss_batch
Out[126]:
[[1.6828618049621582, 0.6666666865348816],
 [1.0586804151535034, 0.7222222089767456]]

We didn't use ImageGenerator here as well, for the same reasons as before. What's surprising is that BatchNormalization actually seemed to worsen the models state. That was entirely unexpected, but we kept it in mind and moved on to the next task.

Task 6) Compare the models for different preprocessing approaches (perform operations separately per channel):

  • Raw data - $X$
  • Subtracting the mean ($X - \mu$)
  • Normalization ($\frac{X - min}{max - min}$)
  • Standardization ($\frac{X - \mu}{\sigma}$)
In [127]:
def substracting_dataset(dataset):
    mean = np.mean(dataset, axis=(0,1,2))
    result = dataset - mean
    return result
In [128]:
def normalize_dataset(dataset):
    mini = np.min(dataset, axis=(0,1,2))
    maxi = np.max(dataset, axis=(0,1,2))
    result = (dataset - mini) / (maxi - mini)
    return result
In [129]:
new_categories, limit = get_n_categories(10)
X, y = create_dataset(PATH, new_categories, limit = limit)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X, y)
y_train, y_test, y_val  = pd.get_dummies(y_train), pd.get_dummies(y_test), pd.get_dummies(y_val)
mapping = y_train.columns
y_train, y_test, y_val = np.asarray(y_train), np.asarray(y_test), np.asarray(y_val)
In [139]:
model = create_model(10, normalize_flag = False, dropout = best_dropout)
history = model.fit(X_train, y_train, 
                        batch_size=32,
                        epochs=250,
                        steps_per_epoch=X_train.shape[0]//32,
                        validation_data=(X_val, y_val),
                        validation_steps=X_val.shape[0]//32,
                        verbose = 0,
                        callbacks=[
                            EarlyStopping(
                                monitor="val_accuracy",
                                patience=10,
                                restore_best_weights=True,
                                verbose = 1
                            )
                        ])
cr = plot_all(history, model, X_test, y_test, mapping)
Restoring model weights from the end of the best epoch: 5.
Epoch 15: early stopping
5/5 [==============================] - 0s 4ms/step - loss: 1.0213 - accuracy: 0.7357
5/5 [==============================] - 0s 4ms/step
In [140]:
print(cr)
              precision    recall  f1-score   support

       Faces       0.52      1.00      0.68        14
    Leopards       0.88      0.50      0.64        14
  Motorbikes       1.00      0.93      0.96        14
   airplanes       0.76      0.93      0.84        14
      bonsai       0.65      0.93      0.76        14
    car_side       1.00      0.21      0.35        14
  chandelier       0.92      0.86      0.89        14
   hawksbill       0.33      0.14      0.20        14
       ketch       0.72      0.93      0.81        14
       watch       0.87      0.93      0.90        14

    accuracy                           0.74       140
   macro avg       0.77      0.74      0.70       140
weighted avg       0.77      0.74      0.70       140

In [132]:
X_substracted = substracting_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X_substracted, y)
y_train, y_test, y_val  = pd.get_dummies(y_train), pd.get_dummies(y_test), pd.get_dummies(y_val)
y_train, y_test, y_val = np.asarray(y_train), np.asarray(y_test), np.asarray(y_val)
In [136]:
model = create_model(10, normalize_flag = False, dropout = best_dropout)
history = model.fit(X_train, y_train, 
                        batch_size=32,
                        epochs=250,
                        steps_per_epoch=X_train.shape[0]//32,
                        validation_data=(X_val, y_val),
                        validation_steps=X_val.shape[0]//32,
                        verbose = 0,
                        callbacks=[
                            EarlyStopping(
                                monitor="val_accuracy",
                                patience=10,
                                restore_best_weights=True,
                                verbose = 1
                            )
                        ])
cr = plot_all(history, model, X_test, y_test, mapping)
Restoring model weights from the end of the best epoch: 18.
Epoch 28: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 0.9764 - accuracy: 0.8143
5/5 [==============================] - 0s 4ms/step
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
In [138]:
print(cr)
              precision    recall  f1-score   support

       Faces       0.88      1.00      0.93        14
    Leopards       0.77      0.71      0.74        14
  Motorbikes       1.00      0.93      0.96        14
   airplanes       0.78      1.00      0.88        14
      bonsai       0.85      0.79      0.81        14
    car_side       1.00      1.00      1.00        14
  chandelier       0.81      0.93      0.87        14
   hawksbill       0.00      0.00      0.00        14
       ketch       0.76      0.93      0.84        14
       watch       0.60      0.86      0.71        14

    accuracy                           0.81       140
   macro avg       0.74      0.81      0.77       140
weighted avg       0.74      0.81      0.77       140

In [143]:
X_normalized = normalize_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X_normalized, y)
y_train, y_test, y_val  = pd.get_dummies(y_train), pd.get_dummies(y_test), pd.get_dummies(y_val)
y_train, y_test, y_val = np.asarray(y_train), np.asarray(y_test), np.asarray(y_val)
In [145]:
model = create_model(10, normalize_flag = False, dropout = best_dropout)
history = model.fit(X_train, y_train, 
                        batch_size=32,
                        epochs=250,
                        steps_per_epoch=X_train.shape[0]//32,
                        validation_data=(X_val, y_val),
                        validation_steps=X_val.shape[0]//32,
                        verbose = 0,
                        callbacks=[
                            EarlyStopping(
                                monitor="val_accuracy",
                                patience=10,
                                restore_best_weights=True,
                                verbose = 1
                            )
                        ])
cr = plot_all(history, model, X_test, y_test, mapping)
Restoring model weights from the end of the best epoch: 11.
Epoch 21: early stopping
5/5 [==============================] - 0s 4ms/step - loss: 0.9639 - accuracy: 0.7000
5/5 [==============================] - 0s 5ms/step
In [146]:
print(cr)
              precision    recall  f1-score   support

       Faces       1.00      0.86      0.92        14
    Leopards       0.75      0.43      0.55        14
  Motorbikes       1.00      1.00      1.00        14
   airplanes       0.93      1.00      0.97        14
      bonsai       0.00      0.00      0.00        14
    car_side       1.00      0.93      0.96        14
  chandelier       0.48      0.93      0.63        14
   hawksbill       1.00      0.14      0.25        14
       ketch       0.64      1.00      0.78        14
       watch       0.43      0.71      0.54        14

    accuracy                           0.70       140
   macro avg       0.72      0.70      0.66       140
weighted avg       0.72      0.70      0.66       140

In [147]:
X_standardized = standardize_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X_standardized, y)
y_train, y_test, y_val  = pd.get_dummies(y_train), pd.get_dummies(y_test), pd.get_dummies(y_val)
y_train, y_test, y_val = np.asarray(y_train), np.asarray(y_test), np.asarray(y_val)
In [148]:
model = create_model(10, normalize_flag = False, dropout = best_dropout)
history = model.fit(X_train, y_train, 
                        batch_size=32,
                        epochs=250,
                        steps_per_epoch=X_train.shape[0]//32,
                        validation_data=(X_val, y_val),
                        validation_steps=X_val.shape[0]//32,
                        verbose = 0,
                        callbacks=[
                            EarlyStopping(
                                monitor="val_accuracy",
                                patience=10,
                                restore_best_weights=True,
                                verbose = 1
                            )
                        ])
cr = plot_all(history, model, X_test, y_test, mapping)
Restoring model weights from the end of the best epoch: 7.
Epoch 17: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 0.9307 - accuracy: 0.6786
5/5 [==============================] - 0s 3ms/step
In [149]:
print(cr)
              precision    recall  f1-score   support

       Faces       1.00      0.64      0.78        14
    Leopards       1.00      0.71      0.83        14
  Motorbikes       1.00      1.00      1.00        14
   airplanes       0.80      0.86      0.83        14
      bonsai       0.00      0.00      0.00        14
    car_side       1.00      0.79      0.88        14
  chandelier       0.37      1.00      0.54        14
   hawksbill       0.44      0.29      0.35        14
       ketch       0.93      0.93      0.93        14
       watch       0.44      0.57      0.50        14

    accuracy                           0.68       140
   macro avg       0.70      0.68      0.66       140
weighted avg       0.70      0.68      0.66       140

These results were quite funny to us - it said on multiple websites that standardizing and normalizing a dataset are the best ways to prevent overfitting - well that was not the case here. Our model seemed to perform best on just substracting the mean (81% test accu), then it did really well on raw data (73% test accu) and it performed mediocrely on normalized data (70% test accu) and the worst on standardized data (68%).

Task 7) Compare the models with different activation functions (ReLU, tanh, sigmoid - you can use others as well)

In [160]:
X_substracted = substracting_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X_substracted, y)
y_train, y_test, y_val  = pd.get_dummies(y_train), pd.get_dummies(y_test), pd.get_dummies(y_val)
y_train, y_test, y_val = np.asarray(y_train), np.asarray(y_test), np.asarray(y_val)
In [161]:
activation = ['sigmoid', 'tanh', 'relu']
all_activations = list(itertools.combinations_with_replacement(activation, 5))
In [162]:
accu_loss_activations = []
for activ in all_activations:
    model = create_model(10, normalize_flag = False, dropout = best_dropout, activations = activ)
    history = model.fit(X_train, y_train, 
                        batch_size=32,
                        epochs=250,
                        steps_per_epoch=X_train.shape[0]//32,
                        validation_data=(X_val, y_val),
                        validation_steps=X_val.shape[0]//32,
                        verbose = 0,
                        callbacks=[
                            EarlyStopping(
                                monitor="val_accuracy",
                                patience=10,
                                restore_best_weights=True,
                                verbose = 1
                            )
                        ])
    results = model.evaluate(X_test, y_test, batch_size=32)
    accu_loss_activations.append(results)
Restoring model weights from the end of the best epoch: 22.
Epoch 32: early stopping
5/5 [==============================] - 0s 4ms/step - loss: 0.9598 - accuracy: 0.7214
Restoring model weights from the end of the best epoch: 4.
Epoch 14: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.7747 - accuracy: 0.4000
Restoring model weights from the end of the best epoch: 24.
Epoch 34: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.3244 - accuracy: 0.6500
Restoring model weights from the end of the best epoch: 1.
Epoch 11: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 2.3240 - accuracy: 0.1000
Restoring model weights from the end of the best epoch: 1.
Epoch 11: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 2.3443 - accuracy: 0.1000
Restoring model weights from the end of the best epoch: 8.
Epoch 18: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.3585 - accuracy: 0.5929
Restoring model weights from the end of the best epoch: 17.
Epoch 27: early stopping
5/5 [==============================] - 0s 4ms/step - loss: 1.2615 - accuracy: 0.7571
Restoring model weights from the end of the best epoch: 27.
Epoch 37: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.6860 - accuracy: 0.4929
Restoring model weights from the end of the best epoch: 6.
Epoch 16: early stopping
5/5 [==============================] - 0s 4ms/step - loss: 1.7701 - accuracy: 0.5643
Restoring model weights from the end of the best epoch: 6.
Epoch 16: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.2438 - accuracy: 0.7357
Restoring model weights from the end of the best epoch: 7.
Epoch 17: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.4262 - accuracy: 0.5357
Restoring model weights from the end of the best epoch: 10.
Epoch 20: early stopping
5/5 [==============================] - 0s 4ms/step - loss: 0.9185 - accuracy: 0.7500
Restoring model weights from the end of the best epoch: 17.
Epoch 27: early stopping
5/5 [==============================] - 0s 4ms/step - loss: 1.4188 - accuracy: 0.5857
Restoring model weights from the end of the best epoch: 10.
Epoch 20: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.1574 - accuracy: 0.6571
Restoring model weights from the end of the best epoch: 5.
Epoch 15: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.1127 - accuracy: 0.6500
Restoring model weights from the end of the best epoch: 8.
Epoch 18: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.2507 - accuracy: 0.6786
Restoring model weights from the end of the best epoch: 14.
Epoch 24: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.0483 - accuracy: 0.6571
Restoring model weights from the end of the best epoch: 8.
Epoch 18: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.3821 - accuracy: 0.6357
Restoring model weights from the end of the best epoch: 5.
Epoch 15: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.2692 - accuracy: 0.6286
Restoring model weights from the end of the best epoch: 10.
Epoch 20: early stopping
5/5 [==============================] - 0s 5ms/step - loss: 1.1660 - accuracy: 0.6857
Restoring model weights from the end of the best epoch: 7.
Epoch 17: early stopping
5/5 [==============================] - 0s 6ms/step - loss: 0.9240 - accuracy: 0.6929
In [163]:
bar_activations_accu = dict()
bar_activations_loss = dict()
for i in range(len(accu_loss_activations)):
    bar_activations_accu[all_activations[i]] = accu_loss_activations[i][1]
    bar_activations_loss[all_activations[i]] = accu_loss_activations[i][0]
In [164]:
x = range(0, len(all_activations))
y_a = list(bar_activations_accu.values())
y_l = list(bar_activations_loss.values())

fig = plt.figure(figsize = (10, 10))

X_axis = np.arange(len(x))

plt.bar(X_axis - 0.2, y_a, color ='maroon', width = 0.4, label="accuracy")
plt.bar(X_axis + 0.2, y_l, color ='green', width = 0.4, label="loss")
plt.xlabel("Dropout values")
plt.legend(loc="upper left")

plt.show()

We spotted three candidates for the optimal accuracy / loss value. Let's see them.

In [165]:
print(all_activations[0], accu_loss_activations[0])
print(all_activations[11], accu_loss_activations[11])
print(all_activations[20], accu_loss_activations[20])
('sigmoid', 'sigmoid', 'sigmoid', 'sigmoid', 'sigmoid') [0.9598416090011597, 0.7214285731315613]
('sigmoid', 'tanh', 'tanh', 'tanh', 'relu') [0.9184916019439697, 0.75]
('relu', 'relu', 'relu', 'relu', 'relu') [0.923980176448822, 0.6928571462631226]
In [166]:
best_activation = all_activations[11]

Ok, the best combination seems to be the middle one. It achieved 75% accuracy nad 0.91 loss for the training set.

Fin

Here is our last compilation of the model, with all of the tweaks applied - let's see how it outperforms the first one!

In [208]:
new_categories, limit = get_n_categories(15)
X, y = create_dataset(PATH, new_categories, limit = limit)
X = substracting_dataset(X)
X_train, y_train, X_test, y_test, X_val, y_val = distribute_train_test_val(X, y)
y_train, y_test, y_val  = pd.get_dummies(y_train), pd.get_dummies(y_test), pd.get_dummies(y_val)
mapping = y_train.columns
y_train, y_test, y_val = np.asarray(y_train), np.asarray(y_test), np.asarray(y_val)
In [213]:
model = create_model(15, normalize_flag = False, dropout = best_dropout, activations = best_activation)
history = model.fit(X_train, y_train, 
                    batch_size=32,
                    epochs=250,
                    steps_per_epoch=X_train.shape[0]//32,
                    validation_data=(X_val, y_val),
                    validation_steps=X_val.shape[0]//32,
                    verbose = 0,
                    callbacks=[
                        EarlyStopping(
                            monitor="val_accuracy",
                            patience=20,
                            restore_best_weights=True,
                            verbose=0
                        )
                    ])
cr = plot_all(history, model, X_test, y_test, mapping)
6/6 [==============================] - 0s 5ms/step - loss: 1.1781 - accuracy: 0.6278
6/6 [==============================] - 0s 5ms/step
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
In [214]:
print(cr)
              precision    recall  f1-score   support

       Faces       0.88      0.58      0.70        12
    Leopards       0.55      0.50      0.52        12
  Motorbikes       0.80      0.67      0.73        12
   airplanes       0.60      1.00      0.75        12
      bonsai       0.91      0.83      0.87        12
       brain       0.38      0.83      0.53        12
   butterfly       0.00      0.00      0.00        12
    car_side       1.00      0.58      0.74        12
  chandelier       0.50      0.17      0.25        12
 grand_piano       1.00      0.92      0.96        12
   hawksbill       0.31      0.67      0.42        12
  helicopter       1.00      0.25      0.40        12
       ketch       0.69      0.75      0.72        12
     menorah       0.91      0.83      0.87        12
       watch       0.53      0.83      0.65        12

    accuracy                           0.63       180
   macro avg       0.67      0.63      0.61       180
weighted avg       0.67      0.63      0.61       180

This is our final result- it's still not perfect, but we think that the overfitting problem has been solved in the best way possible. The loss for this model is much lower than the previous ones, even though the accuracy is mediocre - the dataset split is random still which makes the results appear differently. That's why we loaded our previous best model to compare.

In [211]:
model_json = load_model('/content/model3.json', '/content/weights3.h5')
model_json.compile(optimizer='adam', 
             loss=tf.keras.losses.CategoricalCrossentropy(),
             metrics=['accuracy'])
test_loss = model_json.evaluate(X_test, y_test)
test_loss
6/6 [==============================] - 0s 5ms/step - loss: 383.2134 - accuracy: 0.0944
Out[211]:
[383.21337890625, 0.09444444626569748]

The models are sadly not comparable, mostly because the first one was trained on a standardized, not substracted data.

Thank you for reading!

In [215]:
!pip freeze > requirements.txt
In [ ]:
!jupyter nbconvert --to html /content/DL_2_148260_148253.ipynb